首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android运行时权限不断被拒绝

Android运行时权限不断被拒绝
EN

Stack Overflow用户
提问于 2018-06-11 08:49:32
回答 1查看 785关注 0票数 2

我正在尝试为我的Android应用程序请求运行时权限。下面是我的代码:

代码语言:javascript
复制
private static final int PERMISSION_REQUEST_CODE = 1;
String installPermission = Manifest.permission.INSTALL_PACKAGES;
String writePermission = Manifest.permission.WRITE_EXTERNAL_STORAGE;

@Click(R.id.buttonVersionUpgrade)
void buttonVersionUpgradeClicked(View v) {
    if (!checkPermission(installPermission)) {
        requestPermission(installPermission);
    }
    if (!checkPermission(writePermission)) {
        requestPermission(writePermission);
    }
}

private boolean checkPermission(String permission){
    if (Build.VERSION.SDK_INT >= 23) {
        int result = ContextCompat.checkSelfPermission(getApplicationContext(), permission);
        if (result == PackageManager.PERMISSION_GRANTED){
            return true;
        } else {
            return false;
        }
    } else {
        return true;
    }
}

private void requestPermission(String permission){
    if (ActivityCompat.shouldShowRequestPermissionRationale(this, permission)){
        Toast.makeText(getApplicationContext(), "Permission required for features to work.",Toast.LENGTH_LONG).show();
    }
    ActivityCompat.requestPermissions(this, new String[]{permission},PERMISSION_REQUEST_CODE);
}

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    switch (requestCode) {
        case PERMISSION_REQUEST_CODE:
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Toast.makeText(getApplicationContext(), "Permission Granted.",
                        Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(getApplicationContext(),"Permission Denied.",
                        Toast.LENGTH_LONG).show();
            }
            break;
    }
}

在我的AndroidManifest.xml中:

代码语言:javascript
复制
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

但是,上面的代码一直显示权限被拒绝,而没有提示用户需要权限。有什么想法吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-05-12 19:20:38

我在清单中有一个错误:

代码语言:javascript
复制
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE " />

在"WRITE_EXTERNAL_STORAGE".之后我有了空间我把它删除了,现在一切都好了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50789303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档