android – 如何避免缓存挂起的意图?

android – 如何避免缓存挂起的意图?,第1张

概述给定两个具有不同数据A和B的相同小部件,当小部件A的数据显示在小部件启动的活动中时,按下后退按钮然后按下小部件B它一切正常.然而,当显示小部件A的数据时,按下主页按钮然后按下小部件B,仍然显示小部件A的数据.从 Android – When launch the same activity from widget with different extras, how to prevent the 给定两个具有不同数据A和B的相同小部件,当小部件A的数据显示在小部件启动的活动中时,按下后退按钮然后按下小部件B它一切正常.然而,当显示小部件A的数据时,按下主页按钮然后按下小部件B,仍然显示小部件A的数据.从 Android – When launch the same activity from widget with different extras,how to prevent the same instance show up after returned from HOME button?开始,它表明我的问题是PendingIntents(对于小部件A和B)都是相同的,并且仅在额外内容上有所不同,因此被缓存.即在附加项中是小部件ID,这是我需要检索小部件按下 *** 作的所有数据的密钥.一个建议是使用不同的数据,但我似乎无法让这个工作.这是代码:

Intent intent = new Intent(context,WidgetActivity.class);intent.putExtra(AppWidgetManager.EXTRA_APPWidget_ID,appWidgetID);intent.setData(Uri.withAppendedpath(Uri.parse("droIDln://Widget/ID/"),String.valueOf(appWidgetID)));PendingIntent pendingIntent =                PendingIntent.getActivity(context,appWidgetID,intent,0);

将setData添加到intent中没有产生任何区别.关于如何解决缓存挂起意图问题的任何想法?我也尝试过:

intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.setAction("actionstring" + System.currentTimeMillis());

一切都没有效果.

解决方法 尝试同时使用:

>挂起意图的不同 *** 作 – intent.setAction(“actionstring”System.currentTimeMillis());
>正确的标志 – PendingIntent.FLAG_UPDATE_CURRENT(对于你的情况:PendingIntent.getActivity(context,PendingIntent.FLAG_UPDATE_CURRENT);

我在许多应用程序中使用这种PendingIntent样式,事实证明它是正确的.

我一直在使用的示例代码:

final Componentname receivername = new Componentname(context,WidgetProvIDer.class);Intent doSth = new Intent("REFRESH_ME" + System.currentTimeMillis());doSth.setComponent(receivername);doSth.putExtra(AppWidgetManager.EXTRA_APPWidget_ID,WidgetID);PendingIntent doSthPending = PendingIntent.getbroadcast(context,doSth,PendingIntent.FLAG_UPDATE_CURRENT);
总结

以上是内存溢出为你收集整理的android – 如何避免缓存挂起的意图?全部内容,希望文章能够帮你解决android – 如何避免缓存挂起的意图?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1121877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存