我想在我的应用程序中隐藏电话簿中没有电话号码的所有联系人。 就像电话簿一样,当你去电话簿时 - >设置有一个复选框,指出“仅限电话号码的联系人”我想在我的应用程序中实现此功能
我需要一个方法(代码)来导航用户 电话簿 - >设置(活动)(系统应用)
来自我的申请活动。
或更糟的情况是通过数据库隐藏所有没有电话号码的联系人。这样电话本可以过滤掉。
目前我找到了
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 123);
以上代码打开电话簿,但我想打开电话簿 - >设置页面。
总之,我想从我的应用程序中将电话簿内容“与电话号码联系”
答案 0 :(得分:4)
我需要一种方法(代码)来将用户导航到电话簿 - >设置(活动)(系统应用)
有数百甚至数千部Android手机。没有必要与他们的“电话簿”应用程序相同。这些“电话簿”应用程序都不一定具有您所寻求的功能 - 有些可能,有些可能没有。并且,最有可能的是,没有一个文档和支持的Intent
结构可以访问应用程序中的屏幕来控制它们可能有或没有的设置。
我想在我的应用程序中隐藏电话簿中没有电话号码的所有联系人
然后,您需要不使用“电话簿”应用,而是通过READ_CONTACTS
权限和ContactsContract
ContentProvider
自行显示联系人。
答案 1 :(得分:1)
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
答案 2 :(得分:0)
好吧,我已经成功开发了Android的联系人应用程序作为我的主要项目。我相信这很简单。这是代码我是如何做到的。
Cursor c = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
null,
ContactsContract.Contacts.HAS_PHONE_NUMBER + " = 1",
null,
ContactsContract.Contacts.DISPLAY_NAME+" COLLATE LOCALIZED ASC");
mAdapter = new MyAdapter(this,
R.layout.single_cell,
c,
new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME},
new int[]{R.id.disp_name},
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
listview.setAdapter(mAdapter);
而且,在MyAdapter中,我扩展了SimpleCursorAdapter并使用了bindView()来利用SimpleCursorAdapter的效率。但是,您需要获得阅读联系人的权限。在你的android-manifest文件中。请提一下,
<uses-permission android:name="android.permission.READ_CONTACTS"/>
希望,这有帮助。