問題:如何編寫關於包的元信息或安裝意圖在PackageManagerService
在Android源代碼處理? (說明如下)Android套件安裝過程中寫元信息
我正在修改Android源以在安裝期間保存一些有關軟件包的元信息。它可以存儲在任何位置,但必須由系統讀取。我的第一次嘗試是使用/sdcard
(Android source error reading file from sdcard)但由於權限,這似乎不起作用。
現在,我想能夠將元信息發送到PackageManagerService
,以便它可以在安裝之前編寫它。如果它自己寫入,它應該能夠在以後閱讀。
我已經確定了點PackageInstallerActivity
,其中安裝意圖提高的地方:
if(v == mOk) {
// Start subactivity to actually install the application
Intent newIntent = new Intent();
newIntent.putExtra(PackageUtil.INTENT_ATTR_APPLICATION_INFO,
mPkgInfo.applicationInfo);
newIntent.setData(mPackageURI);
newIntent.setClass(this, InstallAppProgress.class);
String installerPackageName = getIntent().getStringExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME);
if (installerPackageName != null) {
newIntent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, installerPackageName);
}
if(localLOGV) Log.i(TAG, "downloaded app uri="+mPackageURI);
我可以把一個「額外」的意圖,但我不知道在哪裏的PackageManagerService這意圖被處理。
所以,問題:安卓意圖在android源代碼中的PackageManagerService中處理?
謝謝。我確實在早些時候探討過這個問題,但我認爲我比進程間跳轉更早地調用了該函數,因此拒絕了權限。現在再試一次,看看它是怎麼回事。將在此處發佈更新。 – recluze 2013-03-15 12:59:16
完美。最後讓它工作。您需要使用AIDL暗示的進程間跳轉。再次感謝。 – recluze 2013-03-15 14:56:42