• Android广播接收器里弹出对话框


    不多说,直接上车。。。

     1 public class MyReceiver extends BroadcastReceiver {
     2     @Override
     3     public void onReceive(final Context context, Intent intent) {
     4         AlertDialog.Builder builder = new AlertDialog.Builder(context);
     5         builder.setTitle("提示");
     6         builder.setMessage("确定打开主界面吗?");       
     7         builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
     8             @Override
     9             public void onClick(DialogInterface dialog, int which) {
    10                 Intent intent1 = new Intent(context, MainActivity.class);
    11 
    12                 //在广播接收器中启动活动,一定要给Intent加入FLAG_ACTIVITY_NEW_TASK标志
    13                 intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    14                 context.startActivity(intent1);
    15             }
    16         });
    17 
    18         AlertDialog dialog = builder.create();
    19 
    20         //需要把对话框的类型设为TYPE_SYSTEM_ALERT,否则对话框无法在广播接收器里弹出
    21         dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
    22         dialog.show();
    23     }
    24 }

    注意:把对话框的类型设为了TYPE_SYSTEM_ALERT, 这样弹出的就是一个系统级别的对话框,因此必须声明android.permission.SYSTEM_ALERT_WINDOW权限。最后不要忘记注册广播接收器哦。

  • 相关阅读:
    一般处理程序(ashx)
    添加水印
    一般处理程序(ashx)的增删改查
    ASP.NET简介
    泛型反射
    委托事件
    词法分析器作业
    代理模式
    python 之面向对象的三大特性
    python之封装
  • 原文地址:https://www.cnblogs.com/nangch/p/5353401.html
Copyright © 2020-2023  润新知