1. 程式人生 > >Android應用預設許可權開啟

Android應用預設許可權開啟

Android系統應用預設許可權設定

frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java 類是對預設許可權管理類

我們可以通過此類來對我們系統中存在的應用進行預設許可權設定。 
下面舉個例子,修改系統中應用儲存空間許可權:

    private void grantDefaultSystemHandlerPermissions(int userId) {
        ...
        grantStoragePermissionsToCustomApp(userId);// add 
        ...
    }

private void grantStoragePermissionsToCustomApp(int userId){
    final String []itemString = mService.mContext.getResources()
        .getStringArray(com.android.internal.R.array.storage_permission_custom_packagename);
    for (int i = 0; i < itemString.length; i++) {
        PackageParser.Package customPackage = getPackageLPr(itemString[i]);
        if ((customPackage != null) && doesPackageSupportRuntimePermissions(customPackage)) {
            grantRuntimePermissionsLPw(customPackage, STORAGE_PERMISSIONS, userId);
        }
    }
}

當然要通過一個xml檔案講我們需要預設開啟的應用羅列

<?xml version="1.0" encoding="utf-8"?>

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

<string-array name="storage_permission_custom_packagename" translatable="false">
    <item>com.mediatek.datatransfer</item>
    <item>com.android.defcontainer</item>
    <item>com.android.calendar</item>
    <item>com.mediatek.camera</item>
    <item>com.android.chrome</item>
    <item>com.android.deskclock</item>
    <item>com.android.contacts</item>
    <item>com.android.development</item>
    <item>com.android.email</item>
    <item>com.android.fmradio</item>
    <item>com.facebook.katana</item>
    <item>com.mediatek.filemanager</item>
    <item>com.android.gallery3d</item>
    <item>com.google.android.gm</item>
    <item>com.google.android.googlequicksearchbox</item>
    <item>com.google.android.music</item>
    <item>com.google.android.apps.maps</item>
    <item>com.android.mms</item>
    <item>com.cmcm.cmx.pagetwo</item>
    <item>com.android.dialer</item>
    <item>com.android.soundrecorder</item>
    <item>com.google.android.youtube</item>
    <item>com.android.htmlviewer</item>
    <item>com.android.launcher3</item>
    <item>com.mediatek.lbs.em2.ui</item>
    <item>com.mediatek.wifitest</item>
    <item>com.mediatek.calendarimporter</item>
    <item>com.adups.fota</item>
    <item>com.android.sharedstoragebackup</item>
    <item>com.android.wallpapercropper</item>
    <item>com.android.dreams.phototable</item>
    <item>com.android.inputmethod.latin</item>
    <item>com.android.exchange</item>
    <item>com.android.providers.calendar</item>
    <item>com.mediatek.dataprotection</item>
    <item>com.mediatek.flp.em</item>
    <item>com.google.android.gms</item>
    <item>com.whatsapp</item>
    <item>com.android.browser</item>
</string-array>

相關推薦

Android應用預設許可權開啟

Android系統應用預設許可權設定frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java 類是對預設許可權管理類我們可以通過此類來對我們系統中存在的

Android 應用通知許可權是否開啟以及跳轉到設定介面

因為專案用到推送功能,所以需求是知道使用者是否開啟了通知欄的許可權,並且提供滑動按鈕進行跳轉以便使用者進行關閉或者開啟。 1.獲取通知欄許可權是否開啟: /** * 獲取通知欄許可權是否開啟 * */ public class NotificationsUtils { private sta

android】五種控制Android應用許可權的方法

轉自:http://www.cnbeta.com/articles/181913.htm 1  為什麼Android總是事無鉅細地告訴你應用索取的每一項許可權?   相比Apple,Microsoft嚴格控制生態系統(從蘋果給開發者的"App Store Guideli

Android系統給第三方應用許可權開啟

Android系統給第三方應用許可權開啟(不會彈授予許可權視窗) frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java 類是對預設許可權管理類 可以檢視gr

android 應用開啟以後,動態檢測並或者相機許可權

針對android 6.0(API 23)以前的版本,只需要在【AndroidManifedt.xml】裡面新增應用許可權,應用安裝完成以後即可正常使用。 <uses-permission android:name="android.permission.WRITE

【定製Android系統】Android O 預設允許應用彈窗申請許可權

需求:Android 應用在 6.0 以後?就需要動態申請許可權了,那些寫在 AndroidManifest.xml 中的許可權在應用執行時會彈窗申請。如果應用跑在不方便與終端使用者做互動的場景,例如攝像頭等,或者單純地不希望應用再彈窗申請許可權,而是預設授予應

Android應用獲取通知欄許可權是否開啟--以及跳轉到系統設定介面--解決方案

因為專案用到推送功能,所以需求是知道使用者是否開啟了通知欄的許可權,並且提供滑動按鈕進行跳轉以便使用者進行關閉或者開啟。 1.獲取通知欄許可權是否開啟: /** * 獲取通知欄許可權是否開啟 * */ public class Notifica

瀏覽器判別下載安裝/開啟Android應用程式

摘要: 通過手機瀏覽器直接開啟Android應用程式。 如果本地已經安裝了指定Android應用,就直接開啟它; 如果沒有安裝,則直接下載該應用的安裝檔案(也可以跳轉到下載頁面)。 之前寫過一篇blog,介紹如何通過點選手機瀏覽器中的連結,直接開啟本地Android App。 實現方式

Android 應用互調的實現並新增自定義許可權進行安全防護

最近在做一個安全漏洞修復的工作,場景是A應用必須由B應用調起,由於涉及到元件暴露所以我們需要考慮安全的問題,最後添加了自定義許可權進行解決。 一、A應用 作為被調起者,需要暴露元件給B應用。所以A的清單檔案中要新增自定義許可權(注意:這裡的許可權級別至少是signature或者signatu

Android 8.0通知欄許可權開啟適配

使用手機時,我們經常會碰到各種通知,例如微信,QQ,瀏覽器等等,不厭其煩的給你各種推送,本文將演示通知的大致流程 首先,我們在一個適當的時機檢查我們App的通知欄許可權 boolean Jurisdiction = NotificationManagerCompat.from(AppAppl

android應用程式安裝後點擊開啟帶來的問題

前幾天專案組反饋回來一個這樣的情況就是我在安裝應用之後點選了開啟 然後按home鍵 這個時候應用程式進入後臺 我點選手機桌面的時候圖片啟動應用程式 程式重新再次啟動 而不是後臺的程式返回到前臺;  /

Android 通過scheme連結開啟本地應用

前言:最近做一個在桌面新增快捷方式的功能,用普通常規的新增快捷方式大多數手機都建立不出來, 尤其是像小米這種只有一層的桌面,因此採取了apk式快捷方式,顧名思義就是在桌面安裝一個apk來做為快捷方式, 當點選快捷方式(apk)的時候直接開啟主應用的相應介面。 1、方式一,用Intent來啟動主應

Android應用安裝完成後開啟應用出現初始化兩次解決方案

 啟動介面加上 if (!isTaskRoot()) { finish(); return; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(

Android應用程式獲得root許可權

Android應用程式獲得root許可權 我在博文《Android程式的安全系統》中提到兩種讓root許可權的辦法。最近在網上發現很多朋友轉載那篇文章,但是對那篇文章中提到的第一種方法怎樣實現,不是很明白。本文將會以一個例子實現來演示怎樣讓一個Android應用程式獲得roo

Android 應用程式不出現在最近開啟程式列表裡

注意啊這個是activity的屬性,只有把所有的應用中的activity的都設定了,才可能不出現在最近使用列表裡,但是有些品牌手機會雖然不顯示activity但是還會顯示一個黑色的框,這個可能出於手機安

Android獲取系統應用及安裝應用許可權列表

主要通過PackageManager中的方法 程式碼: public class InstallApps extends ListActivity { HashMap<String, String[]> map=new HashMap<

將程式關聯成Android系統預設開啟程式

比如通過文件檢視器開啟一個文字檔案時,會彈出一個可用來開啟的軟體列表; 如何讓自己的軟體也出現在該列表中呢? 通過設定AndroidManifest.xml檔案即可: <activity android:name=".EasyNote" android:label

Android應用向su申請root許可權,以及Superuser進行授權管理的原理淺析

最近研究了好幾天su+Superuser的原始碼,感覺大概梳理通了整個大體的思路框架,mark一下。  一.su和Suepruser進行root授權的處理流程 對於su命令列程式在對來自Android應用的Root許可權請求處理流程大致如下圖所示(因為快要找工作了,為了節約

MTK Android user版本如何開啟root許可權

(4). 如何內建Google default su  4.1 放開Google default su 只准shell/root 使用者使用的限制.     system/extras/su/su.c 中刪除下面3行程式碼     if (myuid != AID_ROOT && myuid

android 6.0許可權開發---拍照,開啟相簿問題

android6.0的許可權機制改得跟ios類似,兩個系統之間互相模仿也是好事,取長補短。在某些許可權需要用到的時候,要先詢問使用者。 國內各大android系統對於許可權的設定機制都不大一樣,但大部分都是一些常用的許可權預設是開啟的,一些是預設關閉了,即使你在Andr