web-dev-qa-db-ja.com

android.app.RemoteServiceException:通知を送信するときのAndroid.app.ActivityThread $ H.handleMessageで

サービスを使用して通知を表示しています。一部のまれなデバイス(毎日5万人のうち3人のユーザー)で、次のクラッシュが発生します(GooglePlay開発者コンソールで確認できます; Android 4.xデバイス)でのみ):

Android.app.RemoteServiceException: 
  at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1509)
  at Android.os.Handler.dispatchMessage(Handler.Java:110)
  at Android.os.Looper.loop(Looper.Java:193)
  at Android.app.ActivityThread.main(ActivityThread.Java:5327)
  at Java.lang.reflect.Method.invokeNative(Native Method:0)
  at Java.lang.reflect.Method.invoke(Method.Java:515)
  at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:824)
  at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:640)
  at dalvik.system.NativeStart.main(Native Method:0)

私の通知は次のようなコードで行われます(古いスタイルの通知、Android 6+で非推奨ですが、とにかく機能します;バグはAndroid 4.x whereコードは非推奨ではありません):

Notification notification = new Notification(icon, "Custom Notification", when);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification);
contentView.setImageViewResource(R.id.notifWeatherImageView, WeatherRowTools.getImageForWeatherCode(weatherCodeString));

....some stuff here...

notification.contentView = contentView;
notification.contentIntent = contentIntent;
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.defaults = 0;
mNotificationManager.notify(1, notification);

この問題を解決する方法について何かアイデアはありますか?

どうもありがとう !!!

11
Regis_AG

ビルドで同様の問題が発生しました-キットカットデバイスのみがこれらを大量にスローしています-Android OSバージョン:4.4.4、4.4.2、4.2.2、4.0.4

Notificationで使用されるドローアブルを変更することで、同様の問題を修正しました。

.addAction(R.drawable.ic_forward_black_24dp, VIEW_ACTION, pendingIntentView);

ベクターアセットの使用をやめ、イメージアセットの使用を開始しました。

R.drawable.ic_forward_black_24dpはxmlファイル(ベクターアセット)を使用しなくなり、代わりにpngファイル(画像アセット)を使用するようになりました。

1
appbootup

チェック this 。リンクされた回答と同じSDKを使用していない場合でも、問題には同じ理由がある可能性があります。

0
Boby