我已经尝试了所有我知道和能找到的东西,但我仍然无法让我的警报对话框显示为 TYPE_SYSTEM_ALERT。当我打开它时它会显示在我的应用程序上,但如果我的应用程序不在前面,它不会弹出。
我有:
final AlertDialog.Builder d = new AlertDialog.Builder(this);
d.setTitle("App name");
d.setMessage("Message");
d.setPositiveButton("OK", null);
d.setIcon(R.drawable.ic_launcher);
AlertDialog dialog = d.create();
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
d.show();
然后我有清单:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
我错过了什么??
此警报之前的功能流程如下:
- 广播接收器侦听传入的短信。
- 收到后,它使用“RunOnUIThread”将消息传递给 MainActivity 中的一个函数。
- 解析消息并显示警报对话框。现在为什么 TYPE_SYSTEM_ALERT 不起作用?我可以从 logcat 中看到该消息已解析成功,但仍然警报对话框未显示为系统警报。任何人?