How to take CLEAR_APP_CACHE permission in Android Marshmallow at runtime?

后端 未结 3 1123
耶瑟儿~
耶瑟儿~ 2021-01-18 12:12

Code:

void clearCache() {

    if (mClearCacheObserver == null) {
        mClearCacheObserver = new CachePackageDataObserver();
    }         


        
3条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-18 12:38

    Add Permission in AndroidManifest.xml

    
    
    

    Make a Constant for Request Code.

    Constants.java

    public static final int REQUEST_CODE_FOR_PERMISSION = 501;
    

    Request Permission :-

    public static void requestPermissionForClearCache(Activity activity) {
        if (ActivityCompat.checkSelfPermission(activity, Manifest.permission.CLEAR_APP_CACHE) != PackageManager.PERMISSION_GRANTED) {
            if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.CLEAR_APP_CACHE)) {
                ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.CLEAR_APP_CACHE}, Constatnts.REQUEST_CODE_FOR_PERMISSION);
            } else {
                ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.CLEAR_APP_CACHE}, Constatnts.REQUEST_CODE_FOR_PERMISSION);
            }
        }
    }
    

    Override Below method in Fragment.

    @Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        if (requestCode == Constatnts.REQUEST_CODE_FOR_PERMISSION && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // permission was granted successfully
        } else {
            // permission was NOT granted successfully
        }
    }
    

提交回复
热议问题