반응형
매니페스트의 권한이 Android 6에서 작동하지 않습니다.
다음을 완전히 무시합니다.
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
그래서 예외가 있습니다.
원인 : android.view.WindowManager $ BadTokenException : 창을 추가 할 수 없음 android.view.ViewRootImpl$W@86fb55b-이 창 유형에 대한 권한이 거부되었습니다.
나열되지도 않았습니다.
어떻게 수정해야합니까? 감사.
편집하다:
앱 구성 / 고급 / 다른 앱 위에 그리기에 나열됩니다. 그래서 나는 그것을 켜고 이제 잘 작동하지만 내 앱을 실행할 때 권한을 묻는 대화 상자가없는 이유는 무엇입니까? 모든 권한이 청각 장애인에 의해 해제되었으며 설정으로 이동하여 수동으로 설정해야합니까?
CommonsWare의 블로그 게시물 덕분에 몇 가지 단서를 얻었습니다.
코드가 Activity
또는에 있다고 가정 Fragment
하고 오버레이 권한을 확인하고 필요한 경우 요청합니다.
public static int OVERLAY_PERMISSION_REQ_CODE = 1234;
public void someMethod() {
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);
}
}
그런 다음 더 나은 UX에 대한 권한을 다시 확인하십시오.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == OVERLAY_PERMISSION_REQ_CODE) {
if (!Settings.canDrawOverlays(this)) {
// SYSTEM_ALERT_WINDOW permission not granted...
}
}
}
참고 URL : https://stackoverflow.com/questions/32061934/permission-from-manifest-doesnt-work-in-android-6
반응형
'IT박스' 카테고리의 다른 글
pymongo로 mongodb에서 ObjectId로 검색 (0) | 2020.11.11 |
---|---|
matplotlib.pyplot은 이전 플롯을 잊지 않습니다. 어떻게 플러시 / 새로 고침 할 수 있습니까? (0) | 2020.11.11 |
PHP 배열에서 단일 값을 얻는 방법 (0) | 2020.11.10 |
MySQLdb가 실행하는 실제 쿼리를 인쇄 하시겠습니까? (0) | 2020.11.10 |
SpinWait 대 수면 대기. (0) | 2020.11.10 |