意图问题

时间:2014-05-26 10:08:31

标签: java android class android-intent package-managers

我的视图中有几个按钮,每个按钮都会打开其他应用程序。 日历,时钟,计算器等等。

我使用以下代码获取应用列表,然后我可以选择运行哪个 -

         final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
         mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
         final List pkgAppsList = getActivity().getPackageManager().queryIntentActivities( mainIntent, 0);
         startActivity(mainIntent);

所以我为我的日历按钮和我的时钟按钮设置了这个方法。 我为我的时钟按钮选择了时钟应用程序,我已将其设置为默认值。 但是当我点击日历按钮进行选择时,它会自动打开时钟应用程序。 我已尝试使用其他按钮,它不会让我选择,而是打开时钟应用程序,我如何以不同的方式设置它,我可以选择时钟应用程序的时钟和日历日历?

我之前已经问了一个关于这个的问题,我得到了一个答案并使用了上面的方法,也没有我能找到的教程。

感谢阅读。

1 个答案:

答案 0 :(得分:1)

您需要将setComponent()设置为intent,以指定要调用的应用程序,例如,

Intent intent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER).setComponent(new ComponentName("com.android.alarmclock", "com.android.alarmclock.AlarmClock"));

是闹钟。

否则你可以这样使用,

Intent i = new Intent(AlarmClock.ACTION_SET_ALARM); 
startActivity(i);

像这样你需要通过使用intent来提及你想要调用的内容。