感谢点击我的问题。
我正在开发一些初学者级应用,并且想知道可以在我自己的应用中启动某个快捷方式(不是应用本身)。
实际上,我找到了使用软件包名称启动应用程序的方式,但是当我触摸应用程序中的特殊按钮时,我需要做的是启动一些快捷方式(位于我的主屏幕中)。
有没有办法做我说的话?
最好的问候。
答案 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);