私のアプリでは2つのアクティビティがあります.MainActivityはImagePickerを呼び出します。ImagePickerはPhoneResolverを使用してカーソルを取得するGridViewのすべての画像をレイアウトします。SecurityException:許可されていない拒否:読み取り(エミュレータのみ)
私はそれをテストしたが、エミュレータで即座にクラッシュしました。
はここでエラーログです:
java.lang.SecurityException: Permission Denial:reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=5934, uid=10060 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
以下に示すように、私は、マニフェストに書面による許可を持っています:アンドロイドの
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ImagePicker" />
</application>
エミュレータを作成しながら、SDカード収納スペースを指定してみてください。 – userDroid
申し訳ありません、どうすればいいですか?私は1Gに設定しました。 – TPWang