ورود

View Full Version : مشکل با اندروید 5



NeoFighT
دوشنبه 11 خرداد 1394, 16:14 عصر
سلام،
یه برنامه دارم که یک عکس رو از گالری لود میکنه و توی ImageView نشون میده.
این برنامه رو همه گوشی ها و همه ورژن ها به خوبی اجرا میشه،ولی نمیدونم چرا روی اندروید 5 مشکل داره.

کد برنامه :

public class MainActivity extends Activity {

ImageView iv;
public static final int RESULT_LOAD_IMAGE = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

iv = (ImageView) findViewById(R.id.imageView1);

iv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(
Intent.ACTION_PICK,



android.provider.MediaStore.Images.Media.EXTERNAL_ CONTENT_URI);


startActivityForResult


(i,RESULT_LOAD_IMAGE);
}
});
}


@Override
protected void onActivityResult(int requestCode, int


resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode,


data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode ==


RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = {


MediaStore.Images.Media.DATA };


Cursor cursor = getContentResolver().query


(selectedImage,
filePathColumn, null, null,


null);
cursor.moveToFirst();


int columnIndex = cursor.getColumnIndex


(filePathColumn[0]);
String picturePath = cursor.getString


(columnIndex);
cursor.close();

iv.setImageBitmap(BitmapFactory.decodeFile


(picturePath));
}
}
}


برنامه فورس کلوز نمیشه فقط تصویر رو نشون نمیده و این لاگ رو میده

و اینم لاگ کت
131853

NeoFighT
دوشنبه 11 خرداد 1394, 18:20 عصر
آقا مشکل این بود که دسترسی

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

رو اضافه نکرده بودم،
یعنی از اندروید 5 به بعد این دسترسی رو میخواد؟
چون روی ورژن های پایین تر این دسترسی رو نمیخواد.

tux-world
دوشنبه 11 خرداد 1394, 20:29 عصر
این خطا تنها مربوط به پرمیژن نمیشه اگه شما حافظه خارجی گوشی رو مانت کنید و نتونه دسترسی پیدا بکنه اون خطا رو میده. در کل برای چک کردن اینکه سطح دسترسی داره یا نه حتی اگه حافظه خارجی نداره باشه گوشی خیلی خطای خوبیه