android - 任何应用程序中的弹出窗口

标签 android android-widget

我想在任何应用程序的特定时间弹出对话框我的代码:

 public class testPOPDialog extends Activity {
/** Called when the activity is first created. */
private Handler mHandler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    mHandler.postDelayed(mUpdateTimeTask, 1000);



}
private Runnable mUpdateTimeTask = new Runnable() {
       public void run() {
           AlertDialog d = new AlertDialog.Builder(testPOPDialog.this)
            .setTitle("tanchulai")
            .setMessage("bucuo de tanchulai")

            .create();

        d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
        d.show();     
       }
    };

}

它给我

12-03 10:12:18.162: ERROR/AndroidRuntime(571): android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRoot$W@43dd71c0 -- permission denied for this window type

这是什么权限 如果我删除 d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 我的应用是正确的......

最佳答案

将此权限添加到您的 list 中:

android.permission.SYSTEM_ALERT_WINDOW

关于android - 任何应用程序中的弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4344523/

相关文章:

android - 使代码晦涩难懂

android - 谷歌移动广告实现减慢了 Flutter App

Java getText().toString() 用于命名字符串数组

android studio,播放自定义铃声崩溃?

android - 在已经存在 ListView 的滑动抽屉内实现 ListView

android - 使用 AppWidgetManager 的 updateAppWidgetOptions 方法来存储每个小部件的自定义选项

android - 使用 for 循环访问 ImageView 数组

Android AsyncTask 上下文行为

android - Gradle如何从apk中排除文件

Android:强制 WebView 达到一定高度(或触发 div 的滚动)