プッシュ通知を受け取り、アプリが表示されるたびに (onStart() / onStop() ペア)、GCMIntentService クラスからユーザーにダイアログを表示しようとしています。(私はまだ次の GCM に切り替えていません。実際に切り替えましたが、問題があったため、古いものに切り替えました)
protected void onMessage(Context context, Intent intent)
{
AlertDialog.Builder builder = new AlertDialog.Builder(context); //issue here
builder.setMessage("You have a notification").setTitle("Notification");
builder.setPositiveButton("dismiss",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
私が得ているエラーは
android.view.WindowManager$BadTokenException: ウィンドウを追加できません -- トークン null はアプリケーション用ではありません
これはコンテキストエラーであり、Googleのドキュメントなどに間違って書かれていることは知っています...しかし、通知を受け取るたびにダイアログを表示する方法は何ですか?