我的问题是,当我创建应用程序的快捷方式,然后启用或禁用组件时,Android 4.2.2上的快捷方式图标和名称更改,但4.0或4.1快捷方式是正常的。
public void createShortcut(Context context){
Intent myLauncherIntent = new Intent();
myLauncherIntent.setClassName("com.my.package"," com.my.package.MyActivity");
//or Intent myLauncherIntent = new Intent(context,MyActivity.class);
myLauncherIntent.setAction(Intent.ACTION_MAIN);
myLauncherIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
myLauncherIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myLauncherIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "name"); intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext( context,R.drawable.ic_my_shortcut) );
intent.putExtra("duplicate", false);
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast(intent);
}
如果我使用以后在我的申请中:
MyClass.enableComponent(getApplicationContext(), getPackageManager(), myAnotherActivity.class, true);
然后,先前创建的快捷方式会更改为默认的应用程序图标和名称。这仅出现在Android 4.2.2上 有什么想法吗?