こんにちは私はいくつかのデバイスが実行時permission.whatを表示しないという問題に直面していますか?私は設定に移動し、アクセス権を許可したときに、私はいくつかのデバイスとアプリのcrashes.butに直面しています が、実行時のアクセス許可がRxPermission経由で扱うようにmarshmallowを持つ一部のデバイスで実行時のアクセス許可のダイアログが表示されない
答えて
ベストプラクティス結構です。
RxPermissionで試してみてくださいあなたはあなたがプログラムで、あなたのアプリケーションの最初の起動時にダイアログなしのアクセス権を設定することができます
on nexus 5それはうまく動作しています。しかし、私の臨床試験では6.0を持っているsamsung s7を持っています。 – Usman
String[] permissions = new String[]{
Manifest.permission.WRITE_SETTINGS,
Manifest.permission.SYSTEM_ALERT_WINDOW,
Manifest.permission.WAKE_LOCK,
Manifest.permission.INTERNET,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.BROADCAST_STICKY,
Manifest.permission.VIBRATE,
Manifest.permission.RECORD_AUDIO,
};
private boolean checkPermissions() {
int result;
List<String> listPermissionsNeeded = new ArrayList<>();
for (String p : permissions) {
result = ContextCompat.checkSelfPermission(getActivity(), p);
if (result != PackageManager.PERMISSION_GRANTED) {
listPermissionsNeeded.add(p);
}
}
if (!listPermissionsNeeded.isEmpty()) {
ActivityCompat.requestPermissions(root, listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), REQUEST_ID_MULTIPLE_PERMISSIONS);
return false;
}
return true;
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
if (requestCode == REQUEST_ID_MULTIPLE_PERMISSIONS) {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// selectImage();
// isPermission = true;
}
return;
}
}
を発行解決します。私はあなたがsudoを必要とする場合は100%わからない
setPermission("android.permission.SYSTEM_ALERT_WINDOW");
:
private void setPermission(string permission){
Process process = null;
try {
process = Runtime.getRuntime().exec("/system/bin/su -c pm grant " + [your package name] + " " + permission);
process.waitFor();
Log.d(TAG, "permission exec done " + process.exitValue());
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
今、あなたがそれを呼び出すことができます。
私は上記のコードでこのエラーに直面しています java.io.IOException: exec()の実行中にエラーが発生しました。コマンド:[/ system/bin/su、-c、pm、grant、 "パッケージ名"、android.permission.ACCESS_FINE_LOCATION]作業ディレクトリ:null環境:null – Usman
- 1. 許可ダイアログが表示されないAndroid 6.0.1(Marshmallow)
- 2. apiのフラグメントにアクセス許可のダイアログが表示されない
- 3. 場所のアクセス許可のダイアログが表示されない
- 4. 許可ダイアログが表示されない
- 5. 実行時にアクセス許可を要求Android Marshmallowが動作しない
- 6. Androidの実行時のアクセス許可 - ユーザーがアクセス許可を許可し、それをonRequestPermissionsResultで受信しない
- 7. Androidの許可のダイアログが表示されない
- 8. Xamarin iOSのメディアライブラリの許可ダイアログが表示されない
- 9. インスタント実行後にデバイス選択ダイアログが表示されない
- 10. 実行時アクセス許可でManifest.permission.CALL_PHONEを表示できません
- 11. Android Marshmallowの実行時アクセス許可のみを要求しますか?
- 12. Androidでの実行時のアクセス許可
- 13. 一部のデバイスでランチャーアイコンが表示されない
- 14. 危険なアクセス許可のダイアログボックスが表示されない
- 15. 一部のデバイスでOnLocationChangedが実行されない
- 16. アプリの背後にAndroidのアクセス許可のダイアログが表示される
- 17. アンドロイド:アクセス許可の要求コードが表示されない
- 18. OpenGL ESテクスチャが一部のデバイスに表示されない
- 19. 一部のデバイスにAndroidイメージが表示されない
- 20. 外部ストレージのAndroid実行時のアクセス許可
- 21. アンドロイドのアクティビティからの許可ダイアログが表示されます
- 22. 実行時アクセス許可の例外
- 23. 要求時に実行時のアクセス許可が有効でない
- 24. Get-AzureRmADApplicationにアクセス許可が表示されない
- 25. Marshmallowでの実行時の権限のポップアップクリックの問題更新されたデバイス
- 26. Android Marshmallowランタイムスプラッシュ画面のアクセス許可
- 27. Android Marshmallowがフラグメントのアクセス許可を要求しています
- 28. ターゲットAPIがMarshmallow未満の場合のMarshmallowのアプリケーションレベルのアクセス許可のテスト
- 29. Android Marshmallow 6.0 webviewの実行時に許可の場所をリクエストする
- 30. Android Nougat実行時アクセス許可
クラッシュログ+デバイスとは何ですか?どのようにあなたのデバイスの問題&コードの問題ではないことを確認し、最後に、あなたはXiomiデバイスについて話している場合、あなたは悪夢があるだろう。 – k0sh
あなたはまた、この権限をマニフェストに追加する必要があります。これをやったことがありますか、それとも実行時に要求しますか? – Opiatefuchs
投稿*エラーログ*または*ログキャット*。 @Opiatefuchs Sirが何を確認してその部分を通過しているかを確認してください。 –