2012-03-10 11 views
14

Ho una semplice app per Android per riprodurre video. Ho una schermata principale contenente pochi pulsanti. Se premi il pulsante, riprodurrà i video. Tutto funziona beneAndroid aggiungi skin aggiuntivo come APK separato

Il mio problema è che la mia schermata principale ha un'immagine di sfondo anche lì c'è una immagine per i pulsanti. ho un pulsante per scegliere la skin per l'app. Ci sono tre opzioni. Quando scelgo tre opzioni, l'immagine di sfondo e l'immagine del pulsante cambieranno. Ora voglio dare le skin (contiene l'immagine di sfondo e l'immagine del pulsante) come apk separato nelle fasi successive. Quando installo questo apk dovrebbe essere mostrato con la skin già esistente. Qual è il modo più semplice per farlo?

Grazie

risposta

2

non ho provato a leggere il tema da un altro apk, ma penso che è possibile utilizzare questa strategia.

  1. trova il pacchetto del tema dal dispositivo. Per fare ciò, dovresti stabilire una regola di denominazione o un metodo per verificare se quel pacchetto è l'apk del tema o no. Suppongo che tu definisca apk theme come "com.myapp.theme. ????"

  2. se si trova apk tema, leggere il file di asset da quella app. Non so come farlo, ma questo link ti aiuterà. 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