Android筆記:AndroidManifest.xml屬性詳解(一)之sharedUserId

1、sharedUserIdjava

android:sharedUserId="com.rongqin"


userid的特色:android

1. 做爲APK身份的標識 ide

2. userid對應一個Linux用戶,因此不一樣APK(用戶)間互相訪問數據默認是禁止的.spa

 

不一樣APK之間如何經過userid進行數據互訪?插件

在android系統中,apk之間能夠相互讀取數據的條件是:有一樣的簽名,而且AndroidManifest.xml文件中配置的android:sharedUserId屬性值相同,那麼兩個apk運行在同一個進程中,能夠互相訪問任意數據。orm


經過userid訪問其餘apk資源的方法:
xml

1.應用程序和插件(好比皮膚)程序的AndroidManifest.xml中配置相同的sharedUserId:對象

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.lonshine.skin"
    android:versionCode="1"
    android:versionName="1.0"
    android:sharedUserId="com.rongqin" >


2.訪問apk中的資源:進程

Context context = createPackageContext("com.lonshine.skin", Context.CONTEXT_IGNORE_SECURITY);

獲取到com.lonshine.skin對應的Context,經過返回的context對象就能夠訪問到com.lonshine.skin中的任何資源。圖片


例如,應用apk要得到插件apk中的bg.png:

Drawable drawable = context.getResources().getDrawable(R.drawable.bg);

這樣就獲得了圖片的引用,其餘xml資源文件的獲取方式也是相似的。

相關文章
相關標籤/搜索