Android Studio:Unable to add window [email protected] -- permission denied for this window 第一行代码

学习《第一行代码》的时候,出现的错误。

java.lang.RuntimeException: Unable to start receiver com.example.sevenun.littledemo.receiver.ForceOfflineReceiver: android.view.WindowManager$BadTokenException: Unable to add window [email protected] -- permission denied for this window type
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2732)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.view.WindowManager$BadTokenException: Unable to add window [email protected] -- permission denied for this window type
at android.view.ViewRootImpl.setView(ViewRootImpl.java:591)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
at android.app.Dialog.show(Dialog.java:319)
at com.example.sevenun.littledemo.receiver.ForceOfflineReceiver.onReceive(ForceOfflineReceiver.java:38)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2725)
at android.app.ActivityThread.-wrap14(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5417) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

因为《第一行代码》里面的程序主要是在Android4.x运行的,而最新的Android 6 对程序的权限有了新的要求。

所以,我们要启动类型为WindowManager.LayoutParams.TYPE_SYSTEM_ALERT的AlertDialog的时候:

如果是在Android4.x的情况,只用在AndroidManifest.xml里面声明<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />。

如果是在Android 6(API 23)的情况下,则可以添加以下代码进行请求权限,让用户同意后才可以弹出AlertDialog。

   

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        if (Build.VERSION.SDK_INT >= 23) {
            if (! Settings.canDrawOverlays(LoginActivity.this)) {
                Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                        Uri.parse("package:" + getPackageName()));
                startActivityForResult(intent,10);
            }
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 10) {
            if (Build.VERSION.SDK_INT >= 23) {
                if (!Settings.canDrawOverlays(this)) {
                    // SYSTEM_ALERT_WINDOW permission not granted...
                    Toast.makeText(LoginActivity.this,"not granted",Toast.LENGTH_SHORT);
                }
            }
        }
    }

  

参考:http://blog.csdn.net/chenlove1/article/details/52047105

时间: 2025-01-19 22:24:43

Android Studio:Unable to add window [email protected] -- permission denied for this window 第一行代码的相关文章

[email&#160;protected]: Permission denied (publickey).////remote: Permission to xxx/test.git denied to xxx.等权限问题

Error msg [email protected]: Permission denied (publickey) 或者: remote: Permission to xxx/test.git denied to xxx. 等由于权限切换问题 错误原因: 账号切换, 原账号保存数据未清除 解决: 1. 清除凭证: 控制面板-->用户账户-->凭证管理器-->管理凭证: 删除git相关的凭证 2. 删除本地git配置数据: cd ~ && rm -rf .git* 即可重

[email&#160;protected]: Permission denied (publickey).报错解决

windows 系统电脑,再一次更新git客户端后提交报错 [email protected]: Permission denied (publickey).fatal: Could not read from remote repository. Please make sure you have the correct access rightsand the repository exists. 解决方案 先运行 eval `ssh-agent -s` 再输入 ssh-add ~/.ssh

$ ssh -T -v [email&#160;protected]_在本地用ssh连接github出错[email&#160;protected]: Permission denied (publickey).

$ ssh -T -v [email protected]报错: debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Trying private key: /Users/eveline/.ssh/id_rsa debug1: Trying private key: /Users/eveline/.ssh/id_dsa debug1:

Github克隆项目的时候报错:[email&#160;protected]: Permission denied (publickey).解决方法

问题 Github克隆项目的时候报如下错: [email protected]: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rightsand the repository exists. 从上面报出的错误提示可以知道在克隆项目时没有权限所以被拒绝了,Github 服务器和我们本地的通讯要使用 S

android studio怎么分享项目到[email&#160;protected]托管

鄙人初次发表,如有不妥之处,敬请批评指正 1,安装git. git下载地址:http://git-scm.com/downloads/ 2,在AS 的File->Settings->Version Control->Git 配置git.exe命令路径,如下图: 配置AS 的git 配置完成后,如果点击"Test" 按钮提示successfully,则说明配置成功. 3.在[email protected]上创建仓库,获取仓库地址. 现在这里我的仓库地址是:https:

WindowManager$BadTokenException: Unable to add window permission denied for this window type

10-11 11:47:27.472: E/AndroidRuntime(12804): java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.zhl.classguiding/cn.zhl.classguiding.XueanPdfActivity}: android.view.WindowManager$BadTokenException: Unable to add window [email prote

java.lang.IllegalArgumentException: Requested window [email&#160;protected] 异常处理

晕死的错误,改了半天也没想到是这样的原因,基础正要呀... 先看一下警告信息: 07-07 08:32:19.540: WARN/WindowManager(74): Failed looking up window07-07 08:32:19.540: WARN/WindowManager(74): java.lang.IllegalArgumentException:Requested window [email protected] does not exist07-07 08:32:19

Android studio Unable to run mksdcard SDK tool

/******************************************************************************************** * Android studio Unable to run mksdcard SDK tool * 说明: * 记录Ubuntu下AS安装过程中遇到的问题. * * 2016-6-13 深圳 南山平山村 曽剑锋 *************************************************

android studio Unable to load class &#39;org.codehaus.groovy.runtime.typehandling.ShortTypeHandling&#39;

今天导入之前的Android studio项目,出了一个很严重的Error,如下: Error:Unable to load class 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'. Possible causes for this unexpected error include:<ul><li>Gradle's dependency cache may be corrupt (this sometim