【发布时间】:2014-05-07 11:13:25
【问题描述】:
我对如何让该功能正常工作感到沮丧。 我一直在研究和环顾 Intent。
起初我以为我是对的,但我错了,对我的意思的一些概述。 我制作了一个有 6 个按钮的应用程序,所有这些按钮都可以打开不同的应用程序。
- 时钟、2. 日历、3. 浏览器、4. 消息、5. 电话和 6. 联系人。
这是我启动联系人应用程序的 onClick 方法。
// Contacts Launch
Button contacts_launch = (Button) findViewById(R.id.contacts_launch);
contacts_launch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent_contacts = new Intent(Intent.ACTION_MAIN);
intent_contacts.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent_contacts);
}
});
我所有按钮的 onClick Intent 方法都是一样的,只是根据应用程序名称更改了 Intent 名称,例如消息传递是 intent_message。
启动应用程序时以及点击按钮时。它提示我一个窗口,我可以在其中选择应用程序。每次我选择按钮时它都会运行应用程序。
但是当我选择另一个应用程序时,它会启动联系人应用程序?并且不让我像以前那样选择它。我怎样才能解决这个问题?我很确定我用错了意图函数。
感谢您的宝贵时间。
请再次检查代码,那是我修改过的一个不起作用的那个,它只有一个意图方法。我在让我选择的地方添加了我最初使用的代码。那就是具有意图和类别的那个。 (你现在能看到的那个)
【问题讨论】:
-
你想显式调用那个页面
-
我以前就是这样做的,但我认为如果用户可以选择他们启动的内容会更好,因为当我将该方法作为显式 Intent 调用时,它只会启动一个应用程序,如果不是它崩溃了,我不擅长过滤东西。
-
在每个按钮单击上显式调用该页面。它将完美运行
-
使用 Intent.createChooser 的意图,其动作设置为 ACTION_MAIN
-
@pskink 我这样做了 Intent intent_contacts = new Intent(Intent.ACTION_MAIN); startActivity(Intent.createChooser(intent_contacts, "查看联系人"));有效,但它也列出了许多随机应用程序和活动,但有什么方法可以让它设置为默认值吗?所以我不必一直选择?
标签: java android class android-intent