Я бы изменил значок и метку моего приложения на основе выбора в моей активности настройки в зависимости от того, какие изменения изменит значок и ярлык. но мое приложение останавливается, когда я выбираю мою настройку активностьAndroid: изменить значок пусковой установки и метку
Кроме того значок приложения и этикетки переносятся из моих других видов деятельности
Вот мой манифест:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.smb.app.galaxyv2"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="orientation"
android:launchMode="singleTask"
android:screenOrientation="landscape">
</activity>
<activity-alias
android:name="com.smb.app.galaxyv2.MainActivity-lip"
android:icon="@drawable/lip_icon"
android:label="LIP"
android:enabled="true"
android:targetActivity="com.smb.app.galaxyv2.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<activity-alias
android:name="com.smb.app.galaxyv2.MainActivity-certus"
android:icon="@drawable/certus_icon"
android:label="Certus"
android:enabled="true"
android:targetActivity="com.smb.app.galaxyv2.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<activity android:name="com.smb.app.galaxyv2.SettingActivity" />
<activity android:name="com.smb.app.galaxyv2.UpdateActivity"/>
</application>
вот моя функция, которая должна изменить псевдоним деятельности:
chooseBrand.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (((String) newValue).equalsIgnoreCase("bc_lip")){
getPackageManager().setComponentEnabledSetting(
new ComponentName("com.smb.app.galaxyv2.MainActivity", "com.smb.app.galaxyv2.MainActivity-lip"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
}else if (((String) newValue).equalsIgnoreCase("bc_certus")){
getPackageManager().setComponentEnabledSetting(
new ComponentName("com.smb.app.galaxyv2.MainActivity", "com.smb.app.galaxyv2.MainActivity-certus"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
}
return false;
}
});
Я только проверил решения и единственное, что он делает это, чтобы создать ярлык, , но я не хочу ярлык, я хочу изменить значок и имя моего приложения на основе настройки выбора – ced