Android:如何在我自己的应用程序中启动某个应用程序的快捷方式?

时间:2016-07-25 15:24:09

标签: android shortcut

感谢点击我的问题。

我正在开发一些初学者级应用,并且想知道可以在我自己的应用中启动某个快捷方式(不是应用本身)。

实际上,我找到了使用软件包名称启动应用程序的方式,但是当我触摸应用程序中的特殊按钮时,我需要做的是启动一些快捷方式(位于我的主屏幕中)。

有没有办法做我说的话?

最好的问候。

1 个答案:

答案 0 :(得分:1)

可能有用,但如何从清单中获取课程,我想知道 http://www.tutorialforandroid.com/2009/10/launching-other-application-using-code.html

假设您要打开fuelgauge,这样做。

final Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
final ComponentName cn = new ComponentName("com.android.settings","com.android.settings.fuelgauge.PowerUsageSummary");
intent.setComponent(cn);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity( intent);

<强>解释 要打开其他人的应用程序,您需要确保在其清单文件中,作者指定要添加android.intent.action.MAIN intent-filter的类。

final Intent intent = new Intent(Intent.ACTION_MAIN, null);

然后我们添加类别,这个新意图将启动一些

intent.addCategory(Intent.CATEGORY_LAUNCHER);

然后我们通过使用ComponentName来识别我们需要打开的应用程序,在这里你指定应用程序的包名称作为第一个参数,我们想要打开的类作为第二个参数。你必须明白com.android.settings有很多类,它们下面有main intent-filter,使第二个参数成为我们需要的特定类。 (这不止一行)

final ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.fuelgauge.PowerUsageSummary");

在确定了我们想要的组件后,我们将其设置为我们的意图

intent.setComponent(cn);

然后我们告诉打开这个的意图使其成为一项新任务

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

然后终于开始我们的意图

startActivity( intent);