2016年1月19日 星期二

在 Android M 上如何檢查我的程式已取得要求的權限?

How to check if a requested permission has been denied by users?

Android marshmallow 以上的手機開始允許使用者取消程式所要求的某些權限,從使用者的角度來看,這個新功能當然很好。不過從開發者來看,這卻是一個災難的開始。

為什麼?因為我就遇到使用者之前曾經手動取消我的程式所要求的某些權限,過了一陣子,他來信抱怨某些功能無法正常執行。查了半天,原來事實上是,他早已忘了他曾手動取消權限這檔事;或者他根本不知道取消這些權限,會導致那些功能無法正確運作。

身為開發者的你,要怎麼知道權限被使用者偷偷取消了呢?

如果你程式的 targetSdkVersion 是設為 23 或以上的值,可用下列方法檢查:

或是:

如果你程式的 targetSdkVersion 是設為 22 或以下的值,那上述方法都會傳回 true,即使使用者已手動取消權限。所以你要換成下列方法:

2 則留言:

โชติ ธรีะวิท 提到...

Nice work and very detailed,wow you did a really nice job with this one bro,you provided a gold mind of information.
ufabet

Unknown 提到...

มาเด้ เป็นอย่างไร? เป็นส่วนประกอบของสารสกัดที่ได้มาจากธรรมชาติมีทั้งยังวิตามินรวม แร่ เอนเหล้าองุ่นแล้วก็เชลล์บรรเทา
มีอีกทั้งพลาสเซนต้ารวมทั้งคอลลาเจนโดนสารทั้งหมดต้องผ่านขั้นตอนจัดแจงสูตรยาแบบ(Homeopathy)
เป็นศาสตร์การบำบัดที่มีต้นกำเนิดมาจาก สหพันธ์สาธารณรัฐเยอรมนี โดยกานศึกษาค้นพบของแพทย์ ซามุเอลฮาเนมัน แก่มากยิ่งกว่า 200
ปีโดยมีแนวทางบำบัดรักษาว่า (ใช้สิ่งที่คล้ายคลึงกันมารักษาสิ่งที่คล้ายคลึงกัน) หรือการนำเอาสารที่เป็นต้นเหตุของอาการนั้นๆ

มาเด้
มาเด้ หน้าใส
ฉีดมาเด้ ที่ไหนดี

張貼留言