第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在Android中使用自定義權(quán)限?

如何在Android中使用自定義權(quán)限?

HUH函數(shù) 2019-12-17 15:26:20
我有兩個(gè)應(yīng)用程序。一種是聲明許可并擁有一個(gè)Activity:部分的AndroidManifest.xml<application    android:icon="@drawable/ic_launcher"    android:label="@string/app_name"    android:permission="your.namespace.permission.TEST" >    <activity        android:name=".DeclaringPermissionActivity"        android:label="@string/app_name" >        <intent-filter>            <action android:name="android.intent.action.MAIN" />            <category android:name="android.intent.category.LAUNCHER" />        </intent-filter>        <intent-filter>          <action android:name="android.intent.action.VIEW" />          <category android:name="android.intent.category.DEFAULT" />          <category android:name="android.intent.category.BROWSABLE" />          <data android:scheme="myapp"             android:host="myapp.mycompany.com" />         </intent-filter>     </activity></application>第二個(gè)聲明使用權(quán)限部分的AndroidManifest.xml<uses-sdk android:minSdkVersion="10" /><uses-permission android:name="your.namespace.permission.TEST" /><application的一部分Activity:public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("myapp://myapp.mycompany.com/index")));}我正在安裝聲明權(quán)限的應(yīng)用程序,然后運(yùn)行第二個(gè)應(yīng)用程序。結(jié)果我得到了安全異常: 01-11 09:46:55.249: E/AndroidRuntime(347): java.lang.RuntimeException: Unable to start activity ComponentInfo{your.namespace2/your.namespace2.UsingPErmissionActivity}: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW dat=myapp://myapp.mycompany.com/index cmp=your.namespace/.DeclaringPermissionActivity } from ProcessRecord{407842c0 347:your.namespace2/10082} (pid=347, uid=10082) requires your.namespace.permission.TEST
查看完整描述

3 回答

?
繁華開滿天機(jī)

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊

您需要通過專門聲明在基本應(yīng)用的清單中創(chuàng)建權(quán)限。例如:


<permission android:name="your.namespace.permission.TEST"

    android:protectionLevel="normal" android:label="This is my custom  permission" />

然后在所需的應(yīng)用程序中將其用作:


<uses-permission android:name="your.namespace.permission.TEST" />

注意: 保持具有自定義權(quán)限的應(yīng)用程序安裝順序至關(guān)重要。即你必須需要安裝該應(yīng)用程序首先它聲明的許可,并在以后安裝一個(gè),這使得使用它。此順序的任何中斷都可能破壞自定義的使用。權(quán)限。


查看完整回答
反對 回復(fù) 2019-12-17
?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊

如答案中所述,您還應(yīng)該考慮安裝應(yīng)用程序的順序。


這很重要,因?yàn)椋?/p>


如果請求權(quán)限的應(yīng)用程序(應(yīng)用程序B)安裝在定義權(quán)限的應(yīng)用程序(應(yīng)用程序A)之前,則特定設(shè)備中將沒有這樣定義的權(quán)限,因此操作系統(tǒng)根本不會(huì)要求該權(quán)限。


稍后,當(dāng)您安裝App A并嘗試運(yùn)行App B時(shí),后者將無法訪問安全組件。


一種解決方法是在應(yīng)用程序A和B中定義相同的自定義權(quán)限,以確保無論先安裝哪個(gè)應(yīng)用程序,該設(shè)備中都存在該權(quán)限,因此,在安裝應(yīng)用程序A時(shí),該權(quán)限將已經(jīng)已授予AppB。


但是在那種情況下,您應(yīng)該確保兩個(gè)聲明中的保護(hù)級別都相同,因?yàn)檫@可能導(dǎo)致安全風(fēng)險(xiǎn)。


(請注意,從android 5.0開始,您不能在多個(gè)App中定義相同的權(quán)限,除非這些App是使用相同的簽名密鑰簽名的)。


查看完整回答
反對 回復(fù) 2019-12-17
  • 3 回答
  • 0 關(guān)注
  • 549 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號