2014-06-21 11 views
8

Nachdem ein Android-App zu installieren, ist es möglich (zur Laufzeit) dynamisch App-Symbol und den Namen zu ändern, wenn Sie auf eine Schaltfläche in der App drücken?Wie ändert man Android-Name und Symbol zur Laufzeit?

Dies ist der Code so weit ..,

getPackageManager().setComponentEnabledSetting(

new ComponentName("com.example.badgemaste", "com.example.badgemaste.MainActivity"), 

       PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 


      try { 
getPackageManager().setComponentEnabledSetting(
          new ComponentName("com.example.badgemaste", "com.example.badgemaste.MainActivity-One"), 
               PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 
          } catch (Exception e) { 
           //handle 
          } 

Und in der Manifest-Datei ...

<application 
     android:allowBackup="false" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name2" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.badgemaste.MainActivity" 
      android:label="@string/app_name" 
      android:launchMode="singleTask"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity-alias 
      android:icon="@drawable/ic_laun" 
      android:label="@string/app_name" 
      android:name="com.example.badgemaste.MainActivity-One" 
      android:enabled="true" 
      android:targetActivity="com.example.badgemaste.MainActivity"> 

      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity-alias> 



    </application> 

Wenn ich diesen Code ausführen, zunächst erstes Symbol (in der Schublade erscheint und Auch wenn ich die App schließe und sie erneut starte, wird sie auf das andere Symbol wechseln.

Was ich tun möchte, ist, ordnen Sie dieses Verfahren auf eine Schaltfläche, das heißt, wenn ich nur diese Taste drücken, wird Symbol, ändern Sie sonst nicht. Wie kann ich das erreichen ??

Antwort

3

Nun, da Sie die Aktivität über Packagemanager zu ändern sind in der Lage, nur einen Knopf erstellen und den Code setzen in es OnClick ist.

Wenn dies funktioniert, so sollte das.

+0

https://stackoverflow.com/questions/17146728/how-to-change-app-icon-dynamically-in-android?answertab=active#tab-top –

Verwandte Themen