5

我想要的是从我的应用程序中隐藏电话簿中没有电话号码的所有联系人。就像电话簿一样,当您转到电话簿 - > 设置时,有一个复选框指出“仅与电话号码联系”我想实现此功能在我的应用程序中

我需要一种方法(代码)将用户导航到电话簿->设置(活动)(系统应用程序)

从我的应用程序活动。

或更糟糕的情况是通过数据库隐藏所有没有电话号码的联系人。这样电话簿就可以过滤掉。

目前我发现

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 123);

上面的代码打开电话簿,但我想打开电话簿 - >设置页面。

总之,我想从我的应用程序中制作电话簿内容“带有电话号码的联系人”

4

3 回答 3

4

我需要一种方法(代码)将用户导航到电话簿->设置(活动)(系统应用程序)

有数百甚至数千部 Android 手机。他们的“电话簿”应用程序不一定相同。这些“电话簿”应用程序都不一定具有您所寻求的功能——有些可能,有些则没有。而且,最有可能的是,没有一个记录和支持的Intent结构可以访问应用程序内的屏幕来控制他们可能拥有或不拥有的设置。

我想要的是从我的应用程序中隐藏电话簿中没有电话号码的所有联系人

然后您将不需要使用“电话簿”应用程序,而是通过READ_CONTACTS权限和ContactsContract ContentProvider.

于 2013-03-18T12:36:58.527 回答
1
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
于 2013-03-17T10:36:35.910 回答
0

Well, I have sucessfully developed a Contacts application for Android as my major project. I believe this is quite simple. Here is code how I did it.

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);

And, in MyAdapter, I have extended SimpleCursorAdapter and over rided bindView() to take advantage of efficiency of SimpleCursorAdapter. However, you need a permission to read contacts. In your android-manifest file. Please mention,

<uses-permission android:name="android.permission.READ_CONTACTS"/>

Hope, it helps.

于 2013-03-22T03:35:41.753 回答