是否可以从Android中的应用程序调用AlertDialog?

时间:2011-05-06 23:16:26

标签: android alertdialog

我有一个监控状态的服务,当遇到特定状态时,我需要通知用户(无论他们在哪个活动中,或者他们甚至使用该应用程序的话)。< / p>

目前我正在从我的应用程序发送一个Toast(奇怪的是,它只在xoom上运行了一些时间(还没有在其他设备上测试过)。但是,当我尝试从应用程序中启动AlertDialog时,应用程序崩溃。

所以...警报唤醒并调用待处理的意图,启动服务,检查一些东西,如果条件是正确的调用应用程序显示通知。我知道我可以在我的应用程序中设置广播接收器,但重点是让用户实际点击“确定”通知,即使他们现在不在应用程序中,加上,设置也很麻烦每个活动中都有广播听众,因为这个过程并不特别依赖任何活动。

这是非法行动吗?如果没有,我应该寻找什么作为崩溃的罪魁祸首?我有一些特别的许可吗?

1 个答案:

答案 0 :(得分:1)

  

这是非法行动吗?

不违法,但可以被视为“用户敌对”。

假设我在游戏中遇到了一个棘手的问题而且我即将完成一个特别困难的级别......你的对话框出现并阻止我的游戏玩法直到我点击'确定'?从我的设备上卸载您的应用程序之前您认为它会持续多久?该死的很快。您所建议的内容听起来像系统模式对话框,实际上相当于劫持设备。

在您自己的应用程序中使用模态对话框是可以的,即,当用户实际使用您的某个活动时,但其他时候可接受的方法是使用通知。

尽管如此,如果您决定采用这种方法,我建议您使用带有Dialog主题的Activity。而不是使用直接方法来创建类似AlertDialog的东西,而只需使用Intent触发Activity。