2013-05-20 16 views
9

Uygulamam için com.google.android.feedback.FeedbackActivity sürümünü başlatmak istiyorum. Hangouts uygulamasında olduğu gibi.Android Hangouts uygulamasında olduğu gibi geri bildirim uygulamasındaki gibi Etkinlik

Bunu yapmak için hangi ekstraların geçmem gerektiğini bilen var mı?

Send feedback for Hangouts

+1

Bu, Android SDK'sinin bir parçası değildir. – CommonsWare

+0

Hmm ... 'com.google.android.feedback.FeedbackActivity' sürümünü başlatabilseniz bile, geri bildirimler muhtemelen Google’da olur. Neden biri böyle bir şey yapsın ki? – ozbek

+0

Sanırım bu, raporlama uygulamasının Google Play Console'da sona erecek. – pixel

cevap

2

Bu yüzden bu mümkün görünüyor, bur konsolu Developer konsolunda görünmez.

@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

Hey, bunu bulduğunuz için teşekkürler! Konsolunuzda görünmüyor olsa da, sizi ne kadar iyi yaptığından emin değilim. Hata raporlarını boşluktan göndermek onları düzeltmeye yardım etmeyecek ... :-) – CommonsWare

+0

Belki de Google bu tür geri bildirim raporlarını sunmayı planlıyor, çünkü bunlar günlükleri toplama yeteneğini kaldırdılar ... – pixel

+0

+1, şu anda yararlı değil, ama en ilginç! – matiash

1

tam olarak aynı olmasa da, programlı bir çarpışma rapor-iletişim çağırabilirsiniz:

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); 
burada

fazla bilgi: http://blog.tomtasche.at/2012/10/use-built-in-feedback-mechanism-on.html

+0

Aslında çökmelerle ilgili gerekli olmayan geri bildirimleri toplamak istiyorum. – pixel

0

Sadece o düzeni yeniden oluşturmak .xml dosyası ve FragmentActivity'i (Google Hangouts Uygulaması'nın yaptığı gibi) genişleten bir Sınıf oluşturun veya DialogFragment'i mantığını işlemek için genişleten bir Sınıf oluşturun.

İlgili konular