相关疑难解决方法(0)

阅读android中所有联系人的电话号码

我正在使用此代码检索所有联系人姓名和电话号码:

String[] projection = new String[]
{
    People.NAME,
    People.NUMBER
};

Cursor c = ctx.getContentResolver().query(People.CONTENT_URI, projection, null, null, People.NAME + " ASC");
c.moveToFirst();

int nameCol = c.getColumnIndex(People.NAME);
int numCol = c.getColumnIndex(People.NUMBER);

int nContacts = c.getCount();

do
{
  // Do something
} while(c.moveToNext());
Run Code Online (Sandbox Code Playgroud)

但是,这只会返回每个联系人的主号码,但我也想获得次要号码.我怎样才能做到这一点?

android contacts phone-number android-contacts

68
推荐指数
6
解决办法
14万
查看次数

Android获取ArrayList中的所有联系人电话号码

我试图将所有联系人电话号码保存在ArrayList中,但我无法找到方法.有没有办法让他们而不是用ContactsContract一个一个地挑选它们?

java android phone-number android-contacts

27
推荐指数
3
解决办法
4万
查看次数

如何在Android中获取手机通讯录

我希望使用新的api contactContracts获取保存在手机中的联系人而不是sim联系人

我这样做是通过过滤帐户类型(而不是com.anddroid.contacts.sim),这项工作适用于一个手机(HTC Desire),但没有找到适用于所有手机的常见帐户类型,任何人都可以告诉我该怎么做

android

19
推荐指数
2
解决办法
4万
查看次数

如何从android中的联系人列表中删除重复的联系人

请看一看 :-

 public static ArrayList<ContactsEntityBean> getContactDetails(
            Context mContext) {
        ArrayList<ContactsEntityBean> contactList = new ArrayList<ContactsEntityBean>();
        ContentResolver cr = mContext.getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
                null, null, null);
        if (cur.getCount() > 0) {
            while (cur.moveToNext()) {
                String id = cur.getString(cur
                        .getColumnIndex(ContactsContract.Contacts._ID));
                Cursor cur1 = cr.query(
                        ContactsContract.CommonDataKinds.Email.CONTENT_URI,
                        null, ContactsContract.CommonDataKinds.Email.CONTACT_ID
                                + " = ?", new String[] {
                            id
                        }, null);
                while (cur1.moveToNext()) {
                    ContactsEntityBean contactsEntityBean = new ContactsEntityBean();
                    // to get the contact names
                    String name = cur1
                            .getString(cur1
                                    .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));

                    // Log.e("Name :", name); …
Run Code Online (Sandbox Code Playgroud)

android contacts

10
推荐指数
2
解决办法
6594
查看次数

Android Contacts._ID!= Data.CONTACT_ID

我正在运行一个查询CommonDataKinds.Phone.CONTENT_URI ,我得到的所有结果都有一个NOT NULL手机ID.

几乎是代码:

    String[] projection2 = new String[] {
            ContactsContract.CommonDataKinds.Phone.NUMBER,
            ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
            ContactsContract.CommonDataKinds.Phone.CONTACT_ID,          
            ContactsContract.Contacts._ID,                              
            ContactsContract.Contacts.DISPLAY_NAME,             
        };
    String where2 = ContactsContract.CommonDataKinds.Phone._ID + " != ''" ;


    Cursor phoneCursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
            projection2, where2, null, null);
Run Code Online (Sandbox Code Playgroud)

然后我遍历每个游标结果并获得我想要的列.代码是:

           if (phoneCursor.getCount() > 0) {
            while (phoneCursor.moveToNext()) {
                String contacts_id = phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.Contacts._ID));
                String phone_id = phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.CONTACT_ID));
                    Log.i("phonecursor", "contacts_id= "  + contacts_id + " phone_id " + phone_id 
                            +  "  contacts_name= "  + contacts_name + " phone_name= " + phone_name
                            + " Phone= " + phone …
Run Code Online (Sandbox Code Playgroud)

android android-contacts

8
推荐指数
2
解决办法
3057
查看次数

如何在ListView中显示手机通讯录

以下是我的代码,实际上在屏幕上它没有向我显示任何联系.在模拟器中我添加了5个联系人.请告诉我该怎么办.

{
    //some code
    Cursor cur = getContacts();
    String[] fields = new String[] {ContactsContract.Data.DISPLAY_NAME};
    SimpleCursorAdapter adapter = 
        new SimpleCursorAdapter(this, 
                                R.layout.list_view_item_new,
                                cur,
                                fields,
                                new int[] {R.id.contactEntryText});
    lv.setAdapter(adapter);
}

private Cursor getContacts() {  
    // Run query     
    Uri uri = ContactsContract.Contacts.CONTENT_URI;
    String[] projection = 
        new String[]{ ContactsContract.Contacts._ID,
                      ContactsContract.Contacts.DISPLAY_NAME }; 
    String selection = null;
    String[] selectionArgs = null;  
    String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + 
        " COLLATE LOCALIZED ASC";  
    return managedQuery(uri, projection, selection, selectionArgs, sortOrder);  
}
Run Code Online (Sandbox Code Playgroud)

android listview contacts

3
推荐指数
1
解决办法
1万
查看次数

如何获取所有 Android 联系人的 URI 数组

我知道Android 联系人选择器为我们提供了任何选定的 URI Contact

URI 如下所示: content://com.android.contacts/contacts/lookup/0r7-2C46324E483C324A3A484634/7

我需要获取手机中所有联系人的 URI(类似于“URI 数组”)。有人可以帮我做这件事吗?

java android android-contacts

1
推荐指数
1
解决办法
4357
查看次数

从不是Activity的类中调用LoaderManager

我正在努力从电话中获取联系,为此,我正在使用名称和Implement LoaderCallbacks<Cursor>创建一个新类。现在,我想在创建该类的对象时自动调用loaderManager。取得联络人FetchContactsloaderManager

  public class FetchContacts implements LoaderManager.LoaderCallbacks<Cursor> {
       private Context context;

     FetchContacts(Context ctx){
        context = ctx;
        getLoaderManager().initLoader(0, null, this); // Error: Undefined method
     }  
     // Reset of code like override methods.
Run Code Online (Sandbox Code Playgroud)

主要活动

     public class MainActivity extends AppCompatActivity {
        protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);
           FetchContacts fetchContacts = new FetchContacts(this);
       }
     }
Run Code Online (Sandbox Code Playgroud)

我知道错误的原因,因为FetchContacts它不是从Activity类扩展的。是否有必要从Activity类扩展它,或者是否有其他方法从MainActivity调用它?

android android-loadermanager

0
推荐指数
1
解决办法
1872
查看次数