2013-05-20 23 views
9

Tôi muốn khởi chạy com.google.android.feedback.FeedbackActivity cho đơn đăng ký của mình. Giống như nó xảy ra trong ứng dụng Hangouts.Khởi chạy FeedbackActivity trong ứng dụng của tôi như trong Android Hangouts

Có ai biết tôi cần vượt qua những tính năng bổ sung nào để làm như vậy không?

Send feedback for Hangouts

+1

Đây không phải là một phần của SDK Android. – CommonsWare

+0

Hmm ... ngay cả khi bạn có thể khởi chạy 'com.google.android.feedback.FeedbackActivity' phản hồi có thể sẽ kết thúc tại Google. Tại sao mọi người sẽ làm điều đó? – ozbek

+0

Tôi đoán rằng nó sẽ kết thúc tại Google Play Console của ứng dụng báo cáo. – pixel

Trả lời

2

Vì vậy, có vẻ như điều này là có thể, báo cáo bur không hiển thị trong Developer Console.

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) 
protected Intent prepareIcsFeedbackIntent(Activity activity, PackageManager packageManager) { 
    ApplicationErrorReport localApplicationErrorReport = new ApplicationErrorReport(); 
    localApplicationErrorReport.packageName = activity.getPackageName(); 

    localApplicationErrorReport.type = 11; 
    localApplicationErrorReport.installerPackageName = packageManager.getInstallerPackageName(
      localApplicationErrorReport.packageName); 

    return getAppErrortIntent().putExtra(Intent.EXTRA_BUG_REPORT, localApplicationErrorReport); 
} 

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) 
protected Intent getAppErrortIntent() { 
    Intent localIntent = new Intent(Intent.ACTION_APP_ERROR) 
      .addCategory(Intent.CATEGORY_DEFAULT) 
      .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    return localIntent; 
} 
+1

Xin chào, cảm ơn vì đã tìm kiếm điều này! Mặc dù nếu nó không được hiển thị trong giao diện điều khiển của bạn, tôi không chắc chắn những gì tốt nó làm bạn. Gửi báo cáo lỗi vào khoảng trống sẽ không giúp họ được sửa chữa ... :-) – CommonsWare

+0

Có lẽ Google đang lên kế hoạch cung cấp các báo cáo phản hồi như vậy, vì họ đã xóa khả năng thu thập nhật ký ... – pixel

+0

+1, hiện không hữu ích, nhưng thú vị nhất! – matiash

1

Mặc dù nó không phải là giống hệt nhau, bạn lập trình có thể gọi một vụ tai nạn-báo cáo-thoại:

ApplicationErrorReport report = new ApplicationErrorReport(); 
report.packageName = report.processName = getApplication() 
    .getPackageName(); 
report.time = System.currentTimeMillis(); 
report.type = ApplicationErrorReport.TYPE_CRASH; 
report.systemApp = false; 

ApplicationErrorReport.CrashInfo crash = new ApplicationErrorReport.CrashInfo(); 
crash.exceptionClassName = e.getClass().getSimpleName(); 
crash.exceptionMessage = e.getMessage(); 

StringWriter writer = new StringWriter(); 
PrintWriter printer = new PrintWriter(writer); 
e.printStackTrace(printer); 

crash.stackTrace = writer.toString(); 

StackTraceElement stack = e.getStackTrace()[0]; 
crash.throwClassName = stack.getClassName(); 
crash.throwFileName = stack.getFileName(); 
crash.throwLineNumber = stack.getLineNumber(); 
crash.throwMethodName = stack.getMethodName(); 

report.crashInfo = crash; 

Intent intent = new Intent(Intent.ACTION_APP_ERROR); 
intent.putExtra(Intent.EXTRA_BUG_REPORT, report); 
startActivity(intent); 

biết thêm thông tin ở đây: http://blog.tomtasche.at/2012/10/use-built-in-feedback-mechanism-on.html

+0

Thực ra tôi muốn thu thập phản hồi không cần thiết liên quan đến sự cố. – pixel

0

Chỉ cần tái tạo bố trí rằng trên tệp .xml và tạo Lớp mở rộng FragmentActivity (như Ứng dụng Google Hangouts có vẻ như đang làm) hoặc tạo Lớp mở rộng DialogFragment để xử lý logic của nó.

Các vấn đề liên quan