2012-03-10 48 views
14

我有一個簡單的android應用程序來播放視頻。我有一個包含幾個按鈕的主屏幕。如果按下按鈕,它將播放視頻。一切正常。Android添加額外的皮膚作爲單獨的APK

我的問題是,我的主屏幕有一個背景圖像也有一個按鈕圖像。我有一個按鈕來選擇應用程序的外觀。有三種選擇。當我選擇三個選項時,背景圖像和按鈕圖像將會改變。現在我想在後期將皮膚(包含背景圖像和按鈕圖像)作爲單獨的apk。當我安裝這個apk時,應該顯示已經存在的皮膚。這是最簡單的方法來完成這一點?

謝謝

回答

2

我沒有嘗試從其他apk讀取主題,但我認爲你可以使用這種策略。

  1. 從設備中找到您的主題包。要做到這一點,你應該制定一個命名規則或一些方法來檢查包是否是你的主題apk。我假設你將主題apk命名爲'com.myapp.theme。????'

  2. 如果您發現主題apk,請從該應用中讀取資產文件。我不知道該怎麼做,但這個鏈接會幫助你。 Access Assests from another application?

PackageManager pkgMgr = ctx.getPackageManager(); 
List<ApplicationInfo> apps = pkgMgr.getInstalledApplications(PackageManager.GET_META_DATA); 
for (ApplicationInfo ai : apps) { 
    String pkgName = ai.packageName; 
    if(pkgName.startsWith("com.myapp.theme") { //this pkg is your theme pkg 
     //access asset of this app 
    } 
} 

FFF