دسترسی در برنامه (Permission denied)
سلام به همه :-)
دوستان من توی منی فست سطح دسترسی رو دادم :
<uses-permission android:name="android.permission.READ_EXTERNAL_STO RAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_ST ORAGE" />
اما باز موقع نمایش عکس از توی گالری گوشی ، توی image view خطای (Permission denied) میداد .... از این کد استفاده کردم :
private static final int REQUEST_EXTERNAL_STORAGE = 1;
.
.
.
verifyStoragePermissions(this);...
private static String[] PERMISSIONS_STORAGE = {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE };public static void verifyStoragePermissions(Activity activity) {// Check if we have write permission
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {// We don't have permission so prompt the user
ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE
);
}
}
الان برای بار اول از کاربر اجازه دسترسی میگیره ، اما توی هر اکتیویتی باید ازش استفاده کنم ! راهی نیست که فقط اولین که برنامه اجرا میشه بپرسه (واسه همه اکتیویتی ها و ...)
نقل قول: دسترسی در برنامه (Permission denied)
سلام.
نه راهی نیست. هر جا میخوای از دسترسی استفاده کنی باید قبلش با استفاده از این کد امکان دسترسی رو بررسی کنی.
اگه بخوای یه بار کد رو بنویسی و توی همه اکنیویتی ها ازش استفاده کنی، میتونی یه BaseActivity تعریف کنی و این کد رو توش بنویسی و همه اکتیویتی ها رو از اون مشتق کنی.