アプリでエラー レポートを有効にしたいので、API レベル 8 よりも高いデバイスで機能する方法を探しています。
私の現在の実装は Android 4.1.1 デバイスでは機能しません。ユーザーがエラー レポート ボタンを押してもアクションはありません。デバイス 2.2、2.3、および 4.0.4 では、さまざまな電子メール オプションが表示されます。
私のコードのアクションメソッドは次のようになります
public void startSendErrorAction(View view) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType( "text/plain" );
intent.putExtra( Intent.EXTRA_EMAIL, new String[]{"my@email.de" });
intent.putExtra( Intent.EXTRA_SUBJECT, "PDiXAttach LogReport from " + DateTime.now());
intent.putExtra( Intent.EXTRA_TEXT, getLogContent() );
startActivity(intent);
}
getLogContent メソッドは、logcat -d オプションを使用してアプリケーション ログ エントリを取得します。ただし、現在、デバイスでは機能しません
Hersteller: samsung
Modell: GT-N7100
Marke: samsung
Version: 4.1.1 (REL)
ここで getLogContent-Method
public String getLogContent() {
StringBuffer sb = new StringBuffer();
String separator = System.getProperty( "line.separator" );
Process process;
try {
process = Runtime.getRuntime().exec( "logcat -d" );
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader( process.getInputStream() ) );
String line;
while( (line = bufferedReader.readLine()) != null ) {
sb.append( line );
sb.append( separator );
}
Log.d( TAG, "retrieve log content size is " + sb.length() );
}
catch( IOException e ) {
Log.e( TAG, "error while retrieving logfile of application" + e.getMessage() );
}
return sb.toString();
}
誰かが理由を知っていますか。