一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - Android權限控制之自定義權限

Android權限控制之自定義權限

2021-03-15 15:38Android開發網 Android

這篇文章主要介紹了Android權限控制之自定義權限,本文使用兩個APP作為范例,講解如何自定義權限,需要的朋友可以參考下

天哪,這篇文章終于說道如何自定義權限了,左盼右盼,其實這個自定義權限相當easy。為了方便敘述,我這邊會用到兩個app作為例子示范。

permission app: used to define a new permission
這個作為定義權限的app,我稱之為permission app.
client app: used to access the specified activity of permission app
這個作為訪問上述自定義權限的app,我稱之為client app

先看如何寫permission app

第一步

permission app很簡單,它的任務就是定一個permission,使用< permission>標簽即可,我們假設內容如下:

復制代碼 代碼如下:

<permission android:name="custom.permission.startactivity" android:description="@string/permission_dcr" android:protectionlevel=signatureorsystem android:label="label"></permission>


第二步

 

然后在定一個activity,這個activity很簡單就是展示下一行字,如”hello from custiom permission activity!”這里就不詳述。

第三步

最重要的地方:我們需要為這個activity指明訪問權限,權限即為我們剛申請的權限,這個需要同樣需要在androidmanifest.xml文件中標識,如下:

復制代碼 代碼如下:

<activity
        android:name="com.example.custompermission.mainactivity"
        android:label="@string/app_name" android:permission="custom.permission.startactivity"> 
</activity>


這個activity于是就被打上了必須使用” custom.permission.startactivity”權限才能訪問的印記。

 

接著寫client app

至于如何寫client app,那就so so so … easy了,只需兩步:

第一步

在androidmanifest.xml文件中首先申請權限,如下:

復制代碼 代碼如下:

<uses-permission android:name="custom.permission.startactivity"/>


第二步

 

訪問permission app表明需要該權限的activity,代碼如下:

復制代碼 代碼如下:

intent in = new intent(); 
in.setclassname("com.example.custompermission", "com.example.custompermission.mainactivity"); 
startactivity(in);

 

大功告成

我們可以測試下效果,首先安裝permission app,然后接著安裝client app,結果如下:
Android權限控制之自定義權限

點擊之后

Android權限控制之自定義權限

另外我曾經在android permission權限機制引子提到過protection level問題,這邊我同樣測試下這個protection level,下面結果中y表示可以正常訪問,n則表示不可以訪問。

Android權限控制之自定義權限

需要注意的是,使用自定義permission的activity如果設置了:

復制代碼 代碼如下:

<activity
        android:name="com.example.custompermission.mainactivity"
        android:label="@string/app_name" android:permission="custom.permission.startactivity"> 
<intent-filter> 
        <action android:name="android.intent.action.main" />
        <category android:name="android.intent.category.launcher" /> 
</intent-filter>

 

那就不能從launcher中啟動該app,因為只有你的launcher必須使用了uses-permission去請求獲取custom.permission.startactivity權限,事實上你的launcher是不具備已經請求自定義權限的。

launcher會報:application is not installed on your phone. 的錯誤.

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产福利视频一区二区微拍视频 | 国产在线精品香蕉综合网一区 | 成人在线观看网站 | 91系列在线观看免费 | 精品欧美一区二区三区久久久 | 国产一区二区免费福利片 | 国产一区二区三区在线观看视频 | 朝鲜女人性猛交 | 探花 在线 | 北岛玲亚洲一区在线观看 | 国产日韩欧美色视频色在线观看 | 我强进了老师身体在线观看 | 男人边吃奶边做好爽视频免费 | 国产精品拍拍拍福利在线观看 | 91网站入口| 青草热视频 | 2021最新国产成人精品免费 | 黑人巨大初黑人解禁作品 | 草莓视频旧版本 | 国产精品久久久久久久久免费hd | 成人国产在线观看 | 日韩国产成人精品视频 | 国产精品美女福利视频免费专区 | 青青青国产精品国产精品美女 | 免费的网址 | 扒开腿开嫩苞 | 射逼网| seetube18日本第一次 | 果冻传媒在线播放1 | 亚洲欧美日韩高清 | 我的男友是消防员在线观看 | 日韩一区二区三区免费 | 5x视频在线观看 | 久久精品亚洲牛牛影视 | 国内精品视频一区二区三区八戒 | 亚洲成年男人的天堂网 | 免费看全黄特黄毛片 | 日韩视频免费观看 | 国内免费高清视频在线观看 | 四虎网址在线 | 国色天香 社区视频 |