标签: android-contacts

让用户在Android上邀请他的朋友的最佳策略?

所以我正在建立一个Android社交游戏.

让用户邀请他的朋友参与游戏的最佳策略是什么?如何混合来自联系人列表的Facebook连接,短信,电子邮件?什么应用程序在最少的步骤中完美地完成.

android facebook invite android-contacts

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

Android Cursor - moveToNext()似乎没有到光标的末尾

为什么我的Android光标不会一直走到最初的"承诺"的末尾?

我的cursor.getCount()与我上一次的cursor.getPosition()不同.检查我的while循环!这就是我用它做的一切!

注意:1.它是关于查询联系人内容提供者(android api> 5)2.我只显示基本代码

Cursor cursor = mContext.getContentResolver().query(mUri, mProjections, null, null, null);
Logger.d(TAG, "***  cursor.getCount(): "+cursor.getCount());
while (cursor.moveToNext()) {
    Logger.d(TAG, "| position: "+cursor.getPosition());
    processMainCursor(serializer, cursor);
}
cursor.close();
Run Code Online (Sandbox Code Playgroud)

processMainCursor()将显示来自游标的数据+执行另一个查询:一个4个电话,一个4个电子邮件,一个4个IM帐户:

void processMainCursor(XmlSerializer serializer, Cursor main_cursor) {
     writeCursorData(serializer, main_cursor); //writes cursor data, column by column
     writePhoneEntities(serializer, main_cursor);
     writeEmailEntities(serializer, main_cursor);
     writeIMEntities(serializer, main_cursor);
}
Run Code Online (Sandbox Code Playgroud)

在我的writeXXX方法中没有一个我关闭我的main_cursor或移动下一个!!! ..必须相信我...我只是做一个新的查询,打印数据并关闭该光标

所以统计:

  • cursor.getCount()= 695(总是)
  • 注释writePhoneEntities,writeEmailEntities,writeIMEntities:cursor.getCount()= last cursor.getPosition()= 695(所以正确!)
  • 留下一两个/所有的writeXEntities显示随机性; 例如:将它们全部留下:last cursor.getPosition()有时会显示254,257,253等; 只留下手机和IM:514,510,511等( …

android android-contacts android-cursor

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

从联系人应用中选择一个联系人; 但只列出电子邮件联系人

我正在尝试根据他们的信息选择联系人,它正在为电话号码工作(据我所知); 但是当我尝试仅使用电子邮件选择联系人时,它会失败并出现以下错误:

Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.GET_CONTENT typ=vnd.android.cursor.item/email_v2 }
Run Code Online (Sandbox Code Playgroud)

这是我的代码(或者更重要的部分):

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
if( SMS )
  intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
if( EMAIL )
  intent.setType(ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
startActivityForResult(intent, PICK_CONTACT);
Run Code Online (Sandbox Code Playgroud)

android android-intent android-contacts

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

如何在Android设备上获取用户个人资料

我希望能够自动将信息输入到创建帐户表单中,并根据用户已输入设备的信息(如姓名,电子邮件地址,电话号码)建议可能性.我需要一种与API级别8兼容的方法.

android google-account contactscontract accountmanager android-contacts

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

如何在android中获取最后插入的本机联系人ID

我必须使用内容解析器获得不同的原始联系人ID.

ContentResolver cr = 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));                         
        String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

         System.out.println("id............"+id+"..."+name);                            
 }
}
Run Code Online (Sandbox Code Playgroud)

我已将所有联系人插入本机联系人.然后使用上面的代码我得到所有本机联系人ID.插入1个联系人后,如何一次获得一个id.请帮帮我.谢谢.

android contactscontract android-contacts

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

Android:仅检索带号码的联系人

我目前有以下代码从地址簿中检索联系人:

Uri uri = ContactsContract.Contacts.CONTENT_URI;
    String[] projection = {
            ContactsContract.Contacts._ID,
            ContactsContract.Contacts.DISPLAY_NAME
    };
    String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'";
    String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
    Cursor cursor = getContentResolver().query(uri, projection, selection, null, sortOrder); 

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
            android.R.layout.simple_list_item_multiple_choice, 
            cursor, 
            new String[] {ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts._ID}, 
            new int[] { android.R.id.text1},0);
    getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    setListAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

然而,这也会在我的Nexus 4上返回我的facbook联系人.我的选择有问题吗?

谢谢

java android android-contacts

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

从android中的电话簿中选择联系人

我想从android中的电话簿中选择一个联系人.我按一个按钮,然后显示联系人列表.当我点击我想选择我的活动中显示的点击的联系人号码,但在我的情况下,它返回null.这是我的代码:

    import android.app.Activity;
    import android.content.Intent;
    import android.database.Cursor;
    import android.net.Uri;
    import android.os.Bundle;
    import android.provider.Contacts.People;
    import android.provider.ContactsContract.Contacts;
    import android.provider.ContactsContract.PhoneLookup;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;

    public class Main extends Activity {
    Button b;
    TextView tv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView) findViewById(R.id.textView1);
        b = (Button) findViewById(R.id.button1);
        b.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(Intent.ACTION_PICK,People.CONTENT_URI);
                startActivityForResult(intent, 100);
            }
        });
    }

    @Override
    public boolean …
Run Code Online (Sandbox Code Playgroud)

android return-value android-contacts

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

如何使用复选框创建自定义联系人列表

如何使用复选框创建自定义联系人列表以从android中的列表中选择多个联系人

public class AddFromContacts extends Activity {
ArrayList<String> listname;
// ArrayList<String> list_no;
Context context;
LayoutInflater inflater;
ListView contactlistView;
String name;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.show);

contactlistView = (ListView) findViewById(R.id.ContactlistView);

listname = new ArrayList<String>();
// list_no = new ArrayList<String>();

ContentResolver cr = 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));

        String name = cur
                .getString(cur
                                    .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
        if (Integer
                .parseInt(cur.getString(cur …
Run Code Online (Sandbox Code Playgroud)

android android-contacts

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

如何在android中为联系人添加新字段

我想为现有联系人添加新的电子邮件地址.

我用这个代码:

    ArrayList<ContentProviderOperation> insertEmailList =
            new ArrayList<ContentProviderOperation>();
    Uri uri=null;
    for (ContactEmail contactEmail : emails) {
        values.put(ContactsContract.Data.RAW_CONTACT_ID, id);
        values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
        values.put(ContactsContract.CommonDataKinds.Email.ADDRESS, contactEmail.getEmailAddress());
        values.put(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_CUSTOM);
        uri=contentResolver.insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
    }
Run Code Online (Sandbox Code Playgroud)

当运行这段代码uricontent://com.android.contacts/data/2135,但我的联系方式也不无例外updated.my应用程序运行.

java android contactscontract android-contacts android-studio

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

使用Intent.ACTION_PICK读取电话号码和地址

我想从构建联系人选择器中读取联系人信息。我正在阅读电话号码,街道,电子邮件和地址。这是错误的。

以下是调用联系人选择器的代码:

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
context.startActivityForResult(contactPickerIntent, REQUEST_ID_CONTACT_PICKER); 
Run Code Online (Sandbox Code Playgroud)

以下是OnActivityResult方法的代码,其中我是fetching contact来自光标的信息:

Uri contactURI = intent.getData();
                    Cursor cursor = activity.getContentResolver().query(contactURI, null, null, null, null);
int count = cursor.getCount();
// here value of count is 1, so need to do cursor.moveToNext() to go to selected record.
if (cursor.moveToNext()) {
            String givenName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
            String familyName =  cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
            String displayName =  cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME));
            String middleName =  cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME));

            int contactType = cursor.getInt(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
            String phoneNo = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
            String poBox …
Run Code Online (Sandbox Code Playgroud)

android android-contentprovider android-contacts android-contact-mimetype

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