【发布时间】:2014-04-29 21:22:15
【问题描述】:
我有一个小代码可以在第一次运行时添加到主屏幕的快捷方式:
Intent shortcutIntent = new Intent(getApplicationContext(),
SFlashActivity.class);
shortcutIntent.setAction(Intent.ACTION_MAIN);
Intent addIntent = new Intent();
addIntent
.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "New App");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(getApplicationContext(),
R.drawable.ic_launcher));
addIntent
.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
addIntent
.putExtra("duplicate", false);
getApplicationContext().sendBroadcast(addIntent);
但是使用上面的代码,尽管我的应用程序正在运行,但我的应用程序总是启动启动画面。 那么我怎样才能让主屏幕快捷方式恢复到顶部活动。 我注意到,谷歌在安装时制作的应用程序快捷方式总是恢复顶部活动。
非常感谢!
【问题讨论】:
-
您应该在应用程序第一次启动时将数据存储在“SharedPreferences”中。
-
如果您的应用程序已经在运行,标准行为是恢复顶部活动。如果这没有发生,你就会发生一些奇怪的事情。我知道你已经接受了一个答案,但这个答案是多余的,不应该是必要的。将清单的内容添加到问题中。也许里面有什么讨厌的东西。
-
另外请注意,如果应用程序最初是从安装程序或 IDE(Eclipse、Android Studio 等)启动的,Android 中存在一个错误会显示您所描述的行为。为确保您没有看到此错误:在设备上安装您的应用程序,不要通过单击安装程序屏幕上的“打开”来打开它,现在转到主屏幕并通过单击应用程序图标启动您的应用程序。看看你的问题现在是否消失了。见stackoverflow.com/questions/11296203/…