Я относительно новичок в разработке Android.У меня есть приложение, которое требует определенных разрешений.Они добавляются в AndroidManifest.xml
:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.STORAGE"/>
<uses-permission android:name="android.permission.PHONE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
Приложение аварийно завершает работу при первоначальном запуске (как на эмулируемом устройстве, так и на установленном apk), но после предоставления CAMERA , PHONE и ХРАНЕНИЕ разрешений вручную из настроек телефона, работает нормально.
В MainActivity
я также добавил проверку прав доступа следующим образом (в onCreate
):
// CAMERA permission
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
// Permission is not granted
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.CAMERA},
1);
}
Но приложение продолжает падать при запуске, не показывая диалоговое окно разрешений.Что я здесь не так делаю?
РЕДАКТИРОВАТЬ Ошибка трассировки: