所以我正在建立一个Android社交游戏.
让用户邀请他的朋友参与游戏的最佳策略是什么?如何混合来自联系人列表的Facebook连接,短信,电子邮件?什么应用程序在最少的步骤中完美地完成.
为什么我的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
或移动下一个!!! ..必须相信我...我只是做一个新的查询,打印数据并关闭该光标
所以统计:
我正在尝试根据他们的信息选择联系人,它正在为电话号码工作(据我所知); 但是当我尝试仅使用电子邮件选择联系人时,它会失败并出现以下错误:
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) 我希望能够自动将信息输入到创建帐户表单中,并根据用户已输入设备的信息(如姓名,电子邮件地址,电话号码)建议可能性.我需要一种与API级别8兼容的方法.
android google-account contactscontract accountmanager android-contacts
我必须使用内容解析器获得不同的原始联系人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.请帮帮我.谢谢.
我目前有以下代码从地址簿中检索联系人:
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联系人.我的选择有问题吗?
谢谢
我想从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中的列表中选择多个联系人
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) 我想为现有联系人添加新的电子邮件地址.
我用这个代码:
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)
当运行这段代码uri
是content://com.android.contacts/data/2135
,但我的联系方式也不无例外updated.my应用程序运行.
java android contactscontract android-contacts android-studio
我想从构建联系人选择器中读取联系人信息。我正在阅读电话号码,街道,电子邮件和地址。这是错误的。
以下是调用联系人选择器的代码:
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