2016-09-06 28 views
1

我有一個大型項目,其中包含許多需要權限的功能。問題是一年前開始這個項目的開發人員,只是將所有可能的權限添加到清單。現在問題是我需要刪除所有從未使用過的權限。有沒有一種好的方法或工具來做到這一點?如何在需要權限的代碼中查找所有部分

我想過的方式是刪除所有權限,然後測試,並在看到SECURITY EXCEPTION崩潰後逐個添加。堆棧跟蹤還包含一個提示,其權限缺失。我不認爲這是一種很好或安全的方法...

我試過這裏解釋的方法:How to check if Android Permission is actually being used? 但它只做了部分工作。我刪除了所有權限並運行檢查,但未找到所有權限。我在我的代碼中使用藍牙,並沒有沒有注意到這個權限丟失...

+1

看到這一點:http://stackoverflow.com/questions/24858462/how-to-check-if-android-permission-is-actually-being-used – Amy

+1

運行代碼檢查用棉絨..? – lelloman

+0

謝謝你,在較新版本的Android Studio上試用過它,它工作正常。但並不是所有的權限都被發現。我在我的代碼中使用藍牙,並沒有注意到這個權限丟失... –

回答

0

在我的猜測首先看看Dangerous permission list從清單文件和列表中的所有這些權限只是在這裏這library他們這樣做是在相同的方式,將通過一個處理所有允許一個剛剛看一下例子

askCompactPermissions(new String[]{PermissionUtils.Manifest_CAMERA, PermissionUtils.Manifest_WRITE_EXTERNAL_STORAGE}, new PermissionResult() { 
     @Override 
     public void permissionGranted() { 
      //permission granted 
      //replace with your action 
     } 

     @Override 
     public void permissionDenied() { 
      //permission denied 
      //replace with your action 
     } 
     @Override 
       public void permissionForeverDenied() { 
       // user has check 'never ask again' 
       // you need to open setting manually 
       // Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); 
       // Uri uri = Uri.fromParts("package", getPackageName(), 
        null); 
       // intent.setData(uri); 
       // startActivityForResult(intent, 
       REQUEST_PERMISSION_SETTING); 
       } 
    }); 

的活動範圍從yourActivityClass像ActivityManagePermission下面

public class MainActivity extends ActivityManagePermission { 

} 

和對於Fragement從FragmentManagePermission

延伸yourFragmentClass
public class FragmentHome extends FragmentManagePermission { 

} 
+0

謝謝,但問題是,有一個非常大量的代碼,我需要找到我應該要求的權限...或者,相反,我不使用哪些權限,因爲就目前而言,我的應用程序在其清單中具有所有可能的權限,但我需要擺脫未使用的權限... –

+0

所有將在您查找時處理在危險權限文章中,我給你的文章承認你的清單文件的權限,並將清單文件中的所有危險權限添加到方法askCompactPermissions(new String [] {yourpermission1,yourpermission2,.... }); – Nowshad

+0

您提供的文章非常有用,我甚至在提出問題之前閱讀它,但它沒有描述我要求的解決方案... –

相關問題