聲明和使用許可權,聲明使用許可權

來源:互聯網
上載者:User

聲明和使用許可權,聲明使用許可權

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>  <manifest xmlns:android="http://schemas.android.com/apk/res/android"        package="com.scott.phone"        android:versionCode="1"        android:versionName="1.0">            <!-- 聲明一個許可權  -->      <permission android:protectionLevel="normal"                   android:name="scott.permission.MY_CALL_PHONE"/>                        <application android:icon="@drawable/icon" android:label="@string/app_name">          <activity android:name=".MainActivity"                    android:label="@string/app_name">              <intent-filter>                  <action android:name="android.intent.action.MAIN" />                  <category android:name="android.intent.category.LAUNCHER" />              </intent-filter>          </activity>          <!-- 為Activity應用已定義的許可權 -->          <activity android:name=".PhoneActivity"                     android:permission="scott.permission.MY_CALL_PHONE">              <intent-filter>                  <!-- 注意這個action 在其他應用中可使用此action訪問此Activity -->                  <action android:name="scott.intent.action.MY_CALL"/>                  <category android:name="android.intent.category.DEFAULT" />              </intent-filter>          </activity>      </application>      <!-- 在同一應用中訪問PhoneActivity也需要加上許可權 -->      <uses-permission android:name="scott.permission.MY_CALL_PHONE"/>      <uses-sdk android:minSdkVersion="8" />  </manifest>  

需要注意的是,在聲明許可權時需要一個android:protectionLevel的屬性,它代表“風險層級”。必須是以下值之一:

normal、dangerous、signature、signatureOrSystem。
normal表示許可權是低風險的,不會對系統、使用者或其他應用程式造成危害。
dangerous表示許可權是高風險的,系統將可能要求使用者輸入相關資訊,才會授予此許可權。
signature告訴Android,只有當應用程式所用數位簽章與聲明此許可權的應用程式所有數位簽章相同時,才能將許可權授給它。
signatureOrSystem告訴Android,將許可權授給具有相同數位簽章的應用程式或Android包類,這一層級適用於非常特殊的情況,比如多個供應商需要通過系統影像共用功能時。
另外一個是android:permissionGroup屬性,表示一個許可權組。可以將許可權放在一個組中,但對於自訂許可權,應該避免設定此屬性。如果確實希望設定此屬性,可以使用以下屬性代替:android.permission-group.SYSTEM_TOOLS。  

需要注意的是,在聲明許可權時需要一個android:protectionLevel的屬性,它代表“風險層級”。必須是以下值之一:

 

normal、dangerous、signature、signatureOrSystem。

normal表示許可權是低風險的,不會對系統、使用者或其他應用程式造成危害。

dangerous表示許可權是高風險的,系統將可能要求使用者輸入相關資訊,才會授予此許可權。

signature告訴Android,只有當應用程式所用數位簽章與聲明此許可權的應用程式所有數位簽章相同時,才能將許可權授給它。

signatureOrSystem告訴Android,將許可權授給具有相同數位簽章的應用程式或Android包類,這一層級適用於非常特殊的情況,比如多個供應商需要通過系統影像共用功能時。

另外一個是android:permissionGroup屬性,表示一個許可權組。可以將許可權放在一個組中,但對於自訂許可權,應該避免設定此屬性。如果確實希望設定此屬性,可以使用以下屬性代替:android.permission-group.SYSTEM_TOOLS。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.