我尝试了我知道和能找到的所有方法,但是我仍然无法使我的警报对话框显示为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中看到消息已经被解析了,但警报对话框仍未显示为系统警报。有人知道原因吗?