2015-12-07 3 views
3

Эй, я обновляю android api 23, но у меня проблемы с тем, что все пятна, требующие прав пользователя, были правильно обработаны. Есть ли способ найти все методы, требующие от пользователя предоставления разрешения другим, а затем вручную прохождение через приложение, использующее все ветви?Проверка времени компиляции Api 23

+1

если вы удалите разрешение от манифест, последний предупреждает вас об этом? _just a thought_ – Blundell

ответ

0

Вы можете использовать этот плагин, что делать то, что вы хотите: AndroidPermissionsUsage

, но, как он упоминается в риом файле, это эксперимент, и он не делает прекрасно, что он должен делать. так, я предлагаю вам обновить приложение с помощью этой простой в использовании библиотеки: Let

просто добавить:

@AskPermission({ 
     Manifest.permission.READ_CONTACTS, 
     Manifest.permission.CALL_PHONE, 
     Manifest.permission.CAMERA 
}) 
private void skipTutorial() { 
// permissions needed for best experience are granted; let' go to the app's home screen 
startActivity(new Intent(this, HomeActivity.class)); 
} 

или эту библиотеку: permiso

и использовать этот код:

Permiso.getInstance().requestPermissions(new Permiso.IOnPermissionResult() { 
@Override 
public void onPermissionResult(Permiso.ResultSet resultSet) { 
    if (resultSet.isPermissionGranted(Manifest.permission.READ_CONTACTS)) { 
     // Contact permission granted! 
    } 
    if (resultSet.isPermissionGranted(Manifest.permission.READ_CALENDAR)) { 
     // Calendar permission granted! 
    } 
} 

@Override 
public void onRationaleRequested(Permiso.IOnRationaleProvided callback, String... permissions) { 
    Permiso.getInstance().showRationaleInDialog("Title", "Message", null, callback); 
} 
}, Manifest.permission.READ_CONTACTS, Manifest.permission.READ_CALENDAR); 
+0

Он не хочет получить разрешение, он спрашивает, есть ли способ найти все места в его базе кода, которые должны были потребовать его разрешения. –

0

Захватите все разрешения от манифеста, которые соответствуют из списка dangerous permissions.

enter image description here

Тогда для каждого разрешения, перейдите редактировать -> найти в пути -> и ключевое слово для группы разрешений, в моем примере я использую Местоположение.

enter image description here

enter image description here

Затем в панели результатов поиска первый, скорее всего встречаемости этого разрешения используется, в данном случае MainActivity:

enter image description here

+0

В моем проекте используется ключевое слово Location во многих местах, что делает общий поиск не помогает. Я просто прошел через все приложение с разрешениями, чтобы увидеть, что произошло с ошибкой – user1634451

+0

@ user1634451. Это единственный способ сделать это! :) Когда мне нужно найти вещи в моих приложениях, я делаю это так, как я рекомендовал, это слой поиска, и мне очень легко найти то, что я ищу. и я взял некоторые крупные проекты, которые мне нужно отлаживать. Я бы порекомендовал вам попробовать, это удобный навык для использования. Приветствия. –

Смежные вопросы