بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
دسترسی برنامه با مجوز ها(پرمیژن)
سلام. من برای استفاده از sqlite از کلاس G استفاده میکنم. از اندروید ۶ به بالا برنامه من فورس کلوز میده بخاطر نداشتن پرمیژن. حالا چجوری تو کلاس G برنامم پرمیژن ها را اضافه کنم!؟
0
0
سلام طبق آموزش دیتابیس پیش برید
(5 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
Hossein Lamei Ramandi
5 سال پیش
+1
0
از اندروید شیش به بالا باید دسترسی های خاصی مثل نوشتن رو حافظه و دوربین و خیلی چیزا رو در لحظه از کاربر بگیرید بنابر این باید چک بشه که بعد از گرفتن پرمیشن دیتابیس ساخته بشه
درخواست دسترسی :
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
بررسی نتیجه درخواست :
@Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case 1: { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // permission was granted, yay! Do the // contacts-related task you need to do. } else { // permission denied, boo! Disable the // functionality that depends on this permission. Toast.makeText(MainActivity.this, "Permission denied to read your External storage", Toast.LENGTH_SHORT).show(); } return; } // other 'case' lines to check for other // permissions this app might request } }
ممنون از پاسختون.
اما من دیتابیسم رو با کلاس G که تو اموزش جناب آقاجانی گفته شده ساختم.
یعنی قبل از اینکه برنامه اجرا بشه اولین چیزی که مورد ارزیابی و خواندن میشه کلاس G هستش.
و چون کلاس G من با دیتابیسی که تو یک فولدر از حافظه گوشی قرار داره کار میکنه و quary میزنه باید دسترسی به خواندن و نوشتن تو حافظه گوشی بهش داده بشه.
حالا من کد permission رو تو کلاس G بهش میدم نمیتونه بخوندش و کار نمیکنه.
فکر کنم که permission ها حتما باید تو اکتیویتی باشن تا کار کنن.
شما چه نظری دارید؟
واقعا گیج شدم.
این از تعریف کلاس G تو مانیفستم
` (5 سال پیش)
پاسخ به سوال
javad mahmoodi
5 سال پیش
0
0
public class G extends Application {
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
new File(DIR_DATABASE).mkdirs();
database = SQLiteDatabase.openOrCreateDatabase(DIR_DATABASE + "TehranRED.JM", null);
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .