INSTALL_SHORTCUT然后enableComponent在Android 4.2.2上进行快捷方式更改

时间:2014-02-25 08:28:53

标签: android android-intent package

我的问题是,当我创建应用程序的快捷方式,然后启用或禁用组件时,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上 有什么想法吗?

0 个答案:

没有答案