آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

دسترسی برنامه با مجوز ها(پرمیژن)

javad mahmoodi  5 سال پیش  5 سال پیش
0 0

سلام. من برای استفاده از 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
    }
}

 

0 0
ممنون از پاسختون. اما من دیتابیسم رو با کلاس G که تو اموزش جناب آقاجانی گفته شده ساختم. یعنی قبل از اینکه برنامه اجرا بشه اولین چیزی که مورد ارزیابی و خواندن میشه کلاس G هستش. و چون کلاس G من با دیتابیسی که تو یک فولدر از حافظه گوشی قرار داره کار میکنه و quary میزنه باید دسترسی به خواندن و نوشتن تو حافظه گوشی بهش داده بشه. حالا من کد permission رو تو کلاس G بهش میدم نمیتونه بخوندش و کار نمیکنه. فکر کنم که permission ها حتما باید تو اکتیویتی باشن تا کار کنن. شما چه نظری دارید؟ واقعا گیج شدم. این از تعریف کلاس G تو مانیفستم ` (5 سال پیش)
0 0
(5 سال پیش)
0 0
' (5 سال پیش)
0 0
Code ` (5 سال پیش)
0 0
براتون مقدوره Any Deask بزنید رو سیستمم و یک نگاه کوچیک بهش بندازید؟ ممنون میشم اگه لطف کنید. شماره تماسم: ۰۹۱۲۰۲۸۸۸۲۱ (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);

}
0 0
مجبور نیستید که تو کلاس G اینکار کنید داخل اکتیوتی مورد نظر( بعد از چک کردن پرمیشن و درخواست اون ) انجامش بدید . (5 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .