我已经通过以下代码创建了一个android快捷方式
Intent shortcut=new Intent("com.android.slauncher.action.INSTALL_shortcut");shortcuty.putExtra(Intent.EXTRA_shortcut_NAME,getString(R.string.app_NAME));Intent shortcutIntent=new Intent();shortcutIntent.setClassName(this,MainActivity.class.getName());shortcut.putExtra(Intent.EXTRA_shortcut_INTET,shortcutIntent);shortcuty.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);shortcuty.addFlags(Intent.FLAG_ACTIVITY_RESET T_TASK_IF_NEEDED);ShortcutIconResource iconRes=Intent.ShortcutIconResource.fromContext(this,R.drawable.ic_launcher);shortcuty.putExtra(Intent.EXTRA_shortcut_ICON_RESOURCE,iconRes);sendBroadcast(快捷方式);
当我打开我的应用程序,最后在BActivity之类的"活动"中,然后我切换到主屏幕并单击快捷方式,应用程序会像上面的代码一样出现在MainActivity中,如果应用程序已经创建,我能有机会避免这种情况,只让它出现在前台吗?
最后我找到了正确的方法,总而言之,这是android中的一个错误,之后可能会有一个解决方法
if(!isTaskRoot()){
finish();
return;
}
在LaucherClass的onCreate 中添加上面的代码