美文网首页
Android权限笔记

Android权限笔记

作者: krcm110 | 来源:发表于2018-08-09 07:50 被阅读0次

    error:Android permission denied for window type 2002/2003

    1.Android sdk>=23的时候要注意系统浮选对话框的权限。

    A.方案

    var sysytemAlert:AlertDialog.Builder = AlertDialog.Builder(context);

    sysytemAlert.setTitle("System AlertDialog");

    sysytemAlert.setMessage("this is system alertDialog,Close me please \"ok\" btn");

    sysytemAlert.setCancelable(false);

    sysytemAlert.setPositiveButton("OK"){dialog, which->  Toast.makeText(context,"come on",Toast.LENGTH_LONG).show()}

    if (Build.VERSION.SDK_INT >=23) {

    if (!Settings.canDrawOverlays(context)) {

    val intent = Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION)

    context?.startActivity(intent)

    return

        }else {

    //绘ui代码, 这里说明6.0系统已经有权限了

    alertDialog.window.setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);

    }

    }else {

    //绘ui代码,这里android6.0以下的系统直接绘出即可

        alertDialog.window.setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

    }

    alertDialog.show();

    B.方案

    protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {

                if(!Settings.canDrawOverlays(getApplicationContext())) {

                    //启动Activity让用户授权

                }

            }

        }

    @Override protected void onActivityResult(int requestCode, int resultCode, Intent data){super.onActivityResult(requestCode,resultCode,data);

    if(requestCode== 100)

    {if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M) {if(Settings.canDrawOverlays(this))

     {

     }

    else{//权限被拒绝} } }

    2.Builder.VERSION.SDK>=27 自定义静态广播事件发生时候需要设置setComponent的CompentName

    var myIntent:Intent = Intent("广播xKey");

    myIntent.setComponent(ComponentName(packageName,

    className))

    sendBroadcast(myIntent)

    相关文章

      网友评论

          本文标题:Android权限笔记

          本文链接:https://www.haomeiwen.com/subject/mbjduftx.html