YaW*_*YaW 1 android widget android-widget android-pendingintent
我开发了一个应用程序(称为即时按钮),该应用程序具有小部件功能.此小部件使用PendingIntent作为小部件的onClick.
我的PendingIntent代码是这样的:
Intent active = new Intent(context, InstantWidget.class);
active.setAction(String.valueOf(appWidgetId));
active.putExtra("blabla", blabla); //Some data
PendingIntent actionPendingIntent = PendingIntent.getBroadcast(context, 0, active, 0);
actionPendingIntent.cancel();
actionPendingIntent = PendingIntent.getBroadcast(context, 0, active, 0);
remoteViews.setOnClickPendingIntent(R.id.button, actionPendingIntent);
Run Code Online (Sandbox Code Playgroud)
onReceive获取意图并使用MediaPlayer类做一些重现声音的东西.
我有一些用户的报告说,小部件在一段时间后停止工作,我发现的一些研究是因为任务杀手.看来,当您在TaskKiller中杀死应用程序时,PendingIntent将从内存中删除,因此当您单击该小部件时,它不知道该怎么做.
这有什么解决方案吗?我的代码是错的还是某些东西,或者它是PendingIntent的默认行为?有什么我可以用来避免TaskKiller阻止我的小部件工作?
问候.
这有什么解决方案吗?
要求您的用户不要使用任务杀手.或者,等待未来一些Android版本关闭任务杀手漏洞.
我的代码是错的还是某些东西,或者它是PendingIntent的默认行为?
你的代码可能很好.任务杀手使用的黑客几乎消除了所有的东西,所以我对这种行为一点也不感到惊讶.
有什么我可以用来避免TaskKiller阻止我的小部件工作?
并不是的.您的用户 - 至少不是完全白痴的用户 - 希望能够更好地了解他们使用任务杀手的影响.目前,对任务杀手app没有明智的防御.