رفتن به مطلب
  • 0

گرفتن Permission های Runtime برای اندروید 6.0


coco

سوال

سلام دوستان

 

میخواستم ببینم قضیه این پرمیشن های اندروید 6 چیه ؟

و چجوری باید گرفتشون ؟

ممنون میشم راهنمایی کنین!

اپم روی شبیه ساز اندروید 6 کار میکنه اما تو بخش Apps تو Settings که میرم میبینم اجازه یسری چیزا باید دستی داده بشه!

و روی گوشی هم که کرش میکنه...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

8 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام ، این کتابخونه Helper برای این کاره که راحت تر میشه این کار رو انجام داد تا کد هایی که گوگل میده ، 

compile 'com.github.k0shk0sh:PermissionHelper:1.0.7'

پرمیشن رو توی یک string تعریف کن 

String PERMISSION = Manifest.permission.READ_CALENDAR;

کتابخونه رو Initialize کن و بعد request بده تا دیالوگ درخواست دسترسی رو نمایش بده 

PermissionHelper permissionHelper = PermissionHelper.getInstance(this);
permissionHelper.setForceAccepting(false).request(PERMISSION);

کد زیر رو هم به اکتیویتی اضافه کن

@Override
   public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
       permissionHelper.onRequestPermissionsResult(requestCode, permissions, grantResults);
   }

از طریق متد OnPermissionCallback  هم میتونین listner اضافه کنید و بفهمید کاربر دسترسی رو داده یا نه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام.

 

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

permissionHelper.setForceAccepting(false).request(PERMISSION);

قسمت .request رو قرمز نشون میده چی کارش کنم؟؟

در در 1395/05/10, 18:51:00، امین شاهدی گفته است :

سلام ، این کتابخونه Helper برای این کاره که راحت تر میشه این کار رو انجام داد تا کد هایی که گوگل میده ، 


compile 'com.github.k0shk0sh:PermissionHelper:1.0.7'

پرمیشن رو توی یک string تعریف کن 


String PERMISSION = Manifest.permission.READ_CALENDAR;

کتابخونه رو Initialize کن و بعد request بده تا دیالوگ درخواست دسترسی رو نمایش بده 


PermissionHelper permissionHelper = PermissionHelper.getInstance(this);
permissionHelper.setForceAccepting(false).request(PERMISSION);

کد زیر رو هم به اکتیویتی اضافه کن


@Override
   public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
       permissionHelper.onRequestPermissionsResult(requestCode, permissions, grantResults);
   }

از طریق متد OnPermissionCallback  هم میتونین listner اضافه کنید و بفهمید کاربر دسترسی رو داده یا نه

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام ، این کتابخونه Helper برای این کاره که راحت تر میشه این کار رو انجام داد تا کد هایی که گوگل میده ، 

compile 'com.github.k0shk0sh:PermissionHelper:1.0.7'

پرمیشن رو توی یک string تعریف کن 

String PERMISSION = Manifest.permission.READ_CALENDAR;

کتابخونه رو Initialize کن و بعد request بده تا دیالوگ درخواست دسترسی رو نمایش بده 

PermissionHelper permissionHelper = PermissionHelper.getInstance(this);
permissionHelper.setForceAccepting(false).request(PERMISSION);

کد زیر رو هم به اکتیویتی اضافه کن

@Override
   public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
       permissionHelper.onRequestPermissionsResult(requestCode, permissions, grantResults);
   }

از طریق متد OnPermissionCallback  هم میتونین listner اضافه کنید و بفهمید کاربر دسترسی رو داده یا نه

 

ممنون امین جان! :give_rose:

فقط یه مشکلی هست

توی Manifest.permission فقط پرمیشن C2D هست

اینم لیست پرمیشنام :

<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    
    <permission
        android:name="ir.rio.gram.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />
    <uses-permission android:name="ir.rio.gram.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

ممنون امین جان! :give_rose:

فقط یه مشکلی هست

توی Manifest.permission فقط پرمیشن C2D هست

اینم لیست پرمیشنام :

<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    
    <permission
        android:name="ir.rio.gram.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />
    <uses-permission android:name="ir.rio.gram.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

 

اون ها رو نیاز نیست ران تایم بگیری ، فقط پرمیشن های اصلی لازمه ، برای مثال دسترسی اینترنت و network state  و ... هم لازم نیست  بگیری

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اون ها رو نیاز نیست ران تایم بگیری ، فقط پرمیشن های اصلی لازمه ، برای مثال دسترسی اینترنت و network state  و ... هم لازم نیست  بگیری

یعنی همون C2D_MESSAGE رو بگیرم کافیه دیگه ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یعنی همون C2D_MESSAGE رو بگیرم کافیه دیگه ؟

 

شایان جان میگم نیازی نیست ، فقط توی منیفست بزاری کافیه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

شایان جان میگم نیازی نیست ، فقط توی منیفست بزاری کافیه

 

خب پس چرا اپ اجرا نمیشه رو اندروید 6 ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...