我的应用程序在棒棒糖版本上运行,但无法在更高版本上运行

时间:2018-03-13 05:19:46

标签: android

我的应用程序在棒棒糖版本上运行但无法在更高版本上运行。发生此错误:

enter image description here

1 个答案:

答案 0 :(得分:0)

问题是在6.0或更高版本中,您需要使用运行时权限。 请遵循以下示例代码:

public void checkPer()
{

    if ((ContextCompat.checkSelfPermission(SubCategoryActivity.this,"android.permission.WRITE_EXTERNAL_STORAGE") != PackageManager.PERMISSION_GRANTED)) {

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            requestPermissions(new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"},
                    MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE);
        }
    } else {
        // user already provided permission
        // perform function for what you want to achieve
    }
}

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {

    boolean canUseExternalStorage = false;

    switch (requestCode) {
        case MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE: {
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                canUseExternalStorage = true;
            }

            if (!canUseExternalStorage) {
                Toast.makeText(SubCategoryActivity.this, "You cannot see images without requested permission", Toast.LENGTH_SHORT).show();
            } else {
                // user now provided permission
                // perform function for what you want to achieve

            }
        }
    }
}

这会帮助你的朋友。