アプリケーション アイコンをプログラムから直接変更することは可能ですか?
つまり、フォルダーicon.png
内で変更することですres\drawable
。
ユーザーがプログラムからアプリケーションのアイコンを変更できるようにして、次回ランチャーで以前に選択したアイコンが表示されるようにしたいと思います。
ベストアンサー1
これを試してみてください。私の場合はうまくいきます:
1 .MainActivity
のセクションを変更し、セクションのカテゴリAndroidManifest.xml
の行を削除しますMAIN
intent-filter
<activity android:name="ru.quickmessage.pa.MainActivity"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait"
android:label="@string/app_name"
android:theme="@style/CustomTheme"
android:launchMode="singleTask">
<intent-filter>
==> <action android:name="android.intent.action.MAIN" /> <== Delete this line
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
2.<activity-alias>
各アイコンごとに を作成します。このように
<activity-alias android:label="@string/app_name"
android:icon="@drawable/icon"
android:name=".MainActivity-Red"
android:enabled="false"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
3. プログラムで設定する: 適切なENABLE属性を設定するactivity-alias
getPackageManager().setComponentEnabledSetting(
new ComponentName("ru.quickmessage.pa", "ru.quickmessage.pa.MainActivity-Red"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
注意: 少なくとも 1 つは常に有効にする必要があります。