gpt4 book ai didi

android - 收到推送通知时无法创建对话框

转载 作者:行者123 更新时间:2023-11-29 01:48:51 26 4
gpt4 key购买 nike

每当我收到推送通知并且我的应用程序可见(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: Unable to add window -- token null is not for an application

我知道这是一个上下文错误,它在谷歌的文档等中写错了......但是当我收到通知时如何显示对话框?

最佳答案

不使用对话框,而是创建一个 Activity 并将其主题设置为 Theme.dialog 或其任何子项,然后从 onMessage 方法启动该 Activity 。

这样你的 Activity 就会达到对话的目的,问题就会消失

关于android - 收到推送通知时无法创建对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19637146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com