بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
دسترسی برنامه با مجوز ها(پرمیژن)
سلام. من برای استفاده از sqlite از کلاس G استفاده میکنم. از اندروید ۶ به بالا برنامه من فورس کلوز میده بخاطر نداشتن پرمیژن. حالا چجوری تو کلاس G برنامم پرمیژن ها را اضافه کنم!؟
0
0
سلام طبق آموزش دیتابیس پیش برید
(6 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
Hossein Lamei Ramandi
6 سال پیش
+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 تو مانیفستم
` (6 سال پیش)
پاسخ به سوال
javad mahmoodi
6 سال پیش
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);
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .