我正在设计一个应用程序,需要通过搜索打开联系人应用程序。 我正在使用代码:
Intent intent = new Intent(Intent.ACTION_SEARCH);
intent.putExtra(SearchManager.QUERY, name);
startActivity(intent);
我遇到的问题是,这会打开应用程序选择器并显示大约 40 个应用程序供用户选择,这可能会令人困惑。有没有办法自动将联系人应用程序设置为默认甚至最小化列表?
我尝试过使用以下命令:
intent.setData(ContactsContract.Contacts.CONTENT_URI);
这似乎适用于其他类型的联系人相关 Activity ,例如 ACTION_VIEW,但是当我将其添加到 ACTION_SEARCH Intent 时,应用程序就会崩溃。
谢谢。
最佳答案
我不认为这是您作为应用程序开发人员可以设置的内容,因为这会覆盖所有其他类似的应用程序。因此,这仅设置为用户选择。
这解释了用户如何将应用程序设置为默认值。 http://www.howtogeek.com/howto/43135/how-to-change-the-default-application-for-android-tasks/
不,我不相信有什么办法可以覆盖这个。剥夺用户的选择权是一件坏事,您可能会冒很多人对您的应用进行差评的风险。
我已经读过你的问题好几次了,每次我都意识到你问的是不同的东西。不过我认为这个链接可能会让您走上正轨,它回答了类似的问题。
How to call Android contacts list?
其要点似乎是您需要使用此行直接定位联系人应用程序
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
希望有帮助。
关于android - 在 Android 中,您可以设置默认应用程序,而不是在启动新 Activity 时要求用户从列表中进行选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12025413/