我正在學習Android開發,並開始與約翰尼曼森YouTube視頻來創建基本的CRUD應用程序。清除和最佳方法在初學者的Android工作室CRUD操作
在第6部分,他從圖庫中選擇圖像並設置ImageView URI。每個人都像視頻一樣思考,但我的ImageView設置空白當我從圖庫中選擇圖像?
_ContactImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Contact Image"), 1);
}
});
}
public void onActivityResult(int reqCode, int resCode, Intent data){
if (resCode == RESULT_OK){
if (reqCode == 1)
_ContactImage.setImageURI(data.getData()); // I reach here when i Debug
}
logcat的時候使用位圖的解決方案
10-16 23:22:02.668 15504-15504/com.example.solutionwares.contactmanager E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.solutionwares.contactmanager, PID: 15504
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { dat=content://media/external/images/media/67 (has extras) }} to activity {com.example.solutionwares.contactmanager/com.example.solutionwares.contactmanager.MyActivity}: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media/67 from pid=15504, uid=10252 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
at android.app.ActivityThread.deliverResults(ActivityThread.java:3551)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3594)
at android.app.ActivityThread.access$1400(ActivityThread.java:161)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media/67 from pid=15504, uid=10252 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
at android.os.Parcel.readException(Parcel.java:1465)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:148)
at android.content.ContentProviderProxy.openTypedAssetFile(ContentProviderNative.java:682)
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1066)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:907)
at android.content.ContentResolver.openInputStream(ContentResolver.java:632)
at com.example.solutionwares.contactmanager.MyActivity.onActivityResult(MyActivity.java:117)
at android.app.Activity.dispatchActivityResult(Activity.java:5618)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3547)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3594)
at android.app.ActivityThread.access$1400(ActivityThread.java:161)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
要解決簡單的清單
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
</manifest>
是什麼_ContactImage?一個ImageView? – alpinescrambler 2014-10-16 17:33:25
是_ContactImage是ImageView – user3768146 2014-10-16 17:54:02
_ContactImage.setImageURI(data.getData()); //我到達這裏時,我調試 – user3768146 2014-10-16 17:55:51