簡體   English   中英

Android 如何拒絕已經存在的權限

[英]Android how to deny the permission which is already

這是我的 java 代碼

 cameraSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
                    if(isChecked){
                        strName="Camera";
                        checkAndRequestPermissions();
                    }                  }
                }
            });
 public  void checkAndRequestPermissions(){
            int camera = ContextCompat.checkSelfPermission(mContext, Manifest.permission.CAMERA);
            List<String> listPermissionsNeeded = new ArrayList<String>();
            if(strName.equals("Camera")){
                if (camera != PackageManager.PERMISSION_GRANTED) {
                    listPermissionsNeeded.add(Manifest.permission.CAMERA);
                }
            }
            if (!listPermissionsNeeded.isEmpty()) {
                ActivityCompat.requestPermissions(this, listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), REQUEST_ID_MULTIPLE_PERMISSIONS);
            }
    }

      @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        switch (requestCode) {
            case REQUEST_ID_MULTIPLE_PERMISSIONS: {
                Map<String, Integer> perms = new HashMap<>();
                perms.put(Manifest.permission.CAMERA, PackageManager.PERMISSION_GRANTED);
                if (grantResults.length > 0) {
                    for (int i = 0; i < permissions.length; i++)
                        perms.put(permissions[i], grantResults[i]);
                    if(strName.equals("Camera")){
                        if (perms.get(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){
                            cameraSwitch.setOnCheckedChangeListener(null);
                            cameraSwitch.setChecked(true);
                        }else if (perms.get(Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED) {
                            cameraSwitch.setChecked(false);
                        }
                    }
                }
            }
        }
    }

我在我的 android 應用程序中實現運行時權限。如果我單擊切換按鈕,我有切換按鈕我正在授予相機權限同樣我想在切換按鈕變為非活動狀態時拒絕權限。請幫助我在切換按鈕時拒絕權限停用。

我想在開關按鈕停用時拒絕權限。請幫助我在開關按鈕停用時拒絕權限。

無法以編程方式刪除 gra。 您可以做的是將用戶轉發到您的應用程序的設置屏幕。 在那里,用戶可以撤銷權限

試試這個打開應用程序設置屏幕的代碼,這樣用戶就可以從那里拒絕權限:

Intent i = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
i.setData(uri);
startActivity(i);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM