我開發了一個應用程序(稱爲即時按鈕),該應用程序具有小部件功能。此小部件使用PendingIntent作爲小部件的onClick。Wndingget中的PendingIntent + TaskKiller
我的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);
的的onReceive得到的意圖,並做一些東西用的MediaPlayer類重現聲音。
我從一些用戶那裏得知小部件在一段時間後停止工作,並且我發現一些研究是因爲任務殺手。看起來,當你殺死TaskKiller中的應用程序時,PendingIntent將從內存中刪除,所以當你點擊這個小部件時,它不知道該怎麼做。
有沒有解決方案?我的代碼是錯誤的或者是PendingIntent的默認行爲?有什麼我可以用來避免TaskKiller阻止我的小工具工作?
問候。
我沒有任何任務殺手的問題,但你的代碼是我需要什麼弄清楚如何PendingIntents工作然後讓它們爲我的小部件的多個實例及其關聯的通知工作。謝謝! – gordonwd 2012-05-04 16:12:12