1. 程式人生 > >給activity設定自定義許可權

給activity設定自定義許可權

基於 上面這邊文字的理解自己實踐了下。
比如我在一個叫networkapp的一個app上面的一個activity設定了一個自定義許可權
首先另外app的在mainfest檔案自定義一個許可權

<!-- 為networkapp宣告一個許可權 -->
    <permission
        android:name="com.vincent.org.networkapp.permission.ACCESS"
        android:label="Networkapp  custome permission"
        android:protectionLevel
="normal" >
</permission> <!-- 給需要設定自定義許可權的activity設定 --> <activity android:name=".LocalDataPersistentActivity" android:label="@string/title_activity_local_data_persistent" android:permission="com.vincent.org.networkapp.permission.ACCESS" >
<!-- 給這個activity新增外界訪問這個activity的action屬性,便於android系統查詢 --> <intent-filter> <action android:name="com.vincent.org.networkapp.intent.action.ACTION_VIEW"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter
>
<!-- 對於intent-filter非常重要,外界app可能不知道他呼叫的app的package,所以都是用action這個屬性來刷選的。 --> </activity>

好了,上面就是在待啟動的app工作做完了。

那麼下一步就是在呼叫方的工作了。

首先在mainfest檔案中宣告我們要使用上面定義的自定義許可權

<uses-permission android:name="com.vincent.org.networkapp.permission.ACCESS" />

然後我是直接在介面加了一個button,下面是這個button單擊事件的事件響應程式碼

public void startotherAppActivity(View view) {
//看到了沒有,我們直接把待啟動app的activity宣告的intent-filter
//節點的action屬性給拿過來構建intent例項了。不需要對方app的
//package。然後就可以跳轉到對方app。
        Intent intent = new Intent(
                "com.vincent.org.networkapp.intent.action.ACTION_VIEW");
        startActivity(intent);
    }