繁体   English   中英

Android W/ActivityThread:handleWindowVisibility:令牌没有活动 android.os.BinderProxy

[英]Android W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy

我使用带有 BroadcastReceiver 的导航 UI 收到警告。 但是,一切正常,这只是一个警告,但我担心它最终会导致一些错误或崩溃。 这是它发生的流程:

  1. 我用 AlarmManager 设置了一个闹钟。 通知意图是 BroadcastReceiver。

  2. broadcastReceiver onReceive 对 DB 进行异步调用:

     @Override public void onReceive(Context context, Intent intent) { setSharedPreferences(context); final PendingResult pendingResult = goAsync(); fetchDataFromDB(context, pendingResult); }
  3. fetchDataFromDB 使用 RxJava:

     appDatabase.dataDao().getData(id).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe( data -> onNext(data, context.getApplicationContext(), pendingResult), throwable -> onError(throwable, pendingResult) );

我想使用 JobService,但它适用于 API > 21,而且调用并不需要很长时间,所以我只是将 goAsync 与 RxJava 一起使用。

  1. onNext 基本上创建了一个带有待处理意图的通知:

     Intent notificationIntent = new Intent(context.getApplicationContext(), NotificationActivity.class); pendingIntent = PendingIntent.getActivity(context.getApplicationContext(), Constants.NOTIFICATION_ID, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);
  2. 到目前为止一切都很好,我收到了通知,当我点击通知打开 NotificationActivity 时,我收到了警告:

    W/ActivityThread:handleWindowVisibility:令牌 android.os.BinderProxy 没有活动

  3. NotificationActivity,它应该是根据通知的未决意图打开的,正确打开,没有错误或崩溃。

作为额外信息,此 NotificationActivity 是除主 Activity 之外的唯一“额外”活动,因为我使用单活动方法进行导航。 由于 NotificationActivity 不是正常流程的一部分,因此这是清单上的配置:

“android:launchMode="singleInstance"

不确定这是否也是一个原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM