外部ストレージの読み取りと書き込みの許可を必要とするアンドロイドアプリを開発しています。私の要件は、ギャラリーから画像を選択し、私のアプリで使用することです。マシュマロの装置を除いてすべてがうまくいきます。私はマシュマロの許可を与えたい。誰もこれで私を助けることができますか?marshmallowのストレージとギャラリーの使用に関する読み取りと書き込みの許可
6
A
答えて
15
それは...
Runtime permissions - Android Mと its reference projectを通じて読むpublic class MainActivity extends AppCompatActivity implements ActivityCompat.OnRequestPermissionsResultCallback{
private static final int REQUEST_WRITE_PERMISSION = 786;
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == REQUEST_WRITE_PERMISSION && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
openFilePicker();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
requestPermission();
}
private void requestPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_WRITE_PERMISSION);
} else {
openFilePicker();
}
}
}
2
を、次のような何かを達成することができます。
アクセス許可のフローが変更され、実行時に、必要に応じて、実行時に要求されるアクセス許可が必要です。同じ権限で、許可グループにもつながるNormal and Dangerousに分類されています。
0
さらに、複数のアクセス権を要求する場合。あなたはこれを行うことができます。
private ArrayList<String> permisos;
private void someMethod()
{
..
verificarPermisos(Manifest.permission.READ_EXTERNAL_STORAGE);
verificarPermisos(Manifest.permission.ACCESS_FINE_LOCATION);
verificarPermisos(Manifest.permission.ACCESS_COARSE_LOCATION);
if (permisos.size()!=0)
{
solicitarPermisos(permisos.toArray(new String[permisos.size()]));
}
..
}
@TargetApi(23)
void verificarPermisos(String permiso){
if (ContextCompat.checkSelfPermission(this,permiso)
!= PackageManager.PERMISSION_GRANTED) {
permisos.add(permiso);
// Should we show an explanation?
if (shouldShowRequestPermissionRationale(permiso)) {
}
}
}
@TargetApi(23)
void solicitarPermisos(String[] permiso){
requestPermissions(permiso, 1);
}
まず許可がすでに "verificarPermisos()" メソッドを付与されているかどうか、私は確認してください。もしそれらが与えられなければ、私はそれらを "permisos" arraylistに加えます。最後に、許可されていないパーミッションが返され、String []配列形式で渡されます。
MashMellow(API 23)以降でしかアクセス許可を要求できないことに注意してください。アプリがMashMellowの前にアンドロイド版をターゲットにしている場合は、 "@TargetApi()"注釈を使用でき、ターゲットがAPI 23以上の場合にのみアクセス許可メソッドが呼び出されます。
挨拶を手助けしてください。
関連する問題
- 1. フォルダのAndroidの読み取り/書き込みの許可
- 2. 連絡先の読み取りと書き込みのアクセス許可
- 3. Androidの内部ストレージへの文字列の書き込みと読み取り
- 4. 内部ストレージの読み取り書き込み
- 5. フェイスブックの読み取りと書き込みの許可を1つのダイアログウィンドウで取得する
- 6. Android内蔵ストレージの読み込み/書き込み同時に、
- 7. EBSとEFSの読み取りと書き込みのレイテンシ
- 8. 特定のドメインからのデータの読み取りと書き込みを許可するfirebase
- 9. 読み取り/書き込みのQObject
- 10. プリファレンスの読み取り/書き込み
- 11. C#:バイナリファイルとリストの書き込みと読み取り
- 12. Firebase - スーパーユーザーに読み取りと書き込みの許可を与える方法
- 13. mongodbの読み取りと書き込みの接続のタイムアウト
- 14. Azure関数 - BLOBファイルの書き込みと読み込み
- 15. C#CSLAビジネスオブジェクトのジレンマ:読み取り専用vs読み込み/書き込み
- 16. Cassandraからのデータの書き込みと読み取り3.9
- 17. DBからの読み取りとファイルへの書き込み
- 18. ファイルへのオブジェクトの書き込みと読み取り
- 19. NSISファイルとフクロウの問題の読み取り/書き込み
- 20. リソースファイルからのオブジェクトの書き込みと読み取りIOS
- 21. バイナリファイルへの書き込みと読み取り時の問題
- 22. テキストファイルからの読み取りとバイナリファイルへの書き込み
- 23. phpテキストファイルへのチェックボックスオプションの書き込みと読み取り
- 24. Azure Webアプリケーションの書き込みと読み取りのファイル
- 25. Rustの同じTcpStreamでの読み取りと書き込み
- 26. 読み取りと書き込みJSONファイル使用してjavascriptの
- 27. C#ファイルを読み取り専用で読み取り/書き込みする
- 28. azure関数powershellストレージキューからの読み取りとストレージテーブルへの書き込み
- 29. BLE書き込みと問題の読み取り?
- 30. EXIFデータの読み取りと書き込み
osレベルによって権限は変更されません。以下と同じです。 –
私はすでにmanifeast ..しかし、その許可を与えているアプリマシュマロのユーザーがギャラリーから画像を選択するとクラッシュします。許可の意味は – tiger
です。それはあなたが実行時に許可についてmarshmallowのユーザに尋ねなければならないことです。 –