解决方案 »
- 主activity调用默认浏览器怎么实现
- 求2.3版本用content provider 对联系人名字号码的增删改的例子
- 我想让Dialog中在启动一个Dialog,里面的Dialog该怎样写
- 帮忙看一下:activity中设个监听器怎么就空指针了?
- Android下的OPENGL对纹理有没什么要求?要求的图片格式,位深度与尺寸对齐(尺寸奇偶数),要求的图片大小限制?
- 为啥我在4.2模拟器上运行程序弹出的对话框样子还是2.3的样子
- 如何让RelativeLayout 中的子控件只有RelativeLayout这个父控件的一半大小?
- sipdroid真的能视频通话么
- 开发手机APP时如何做到历史数据展示?
- android页面跳转时崩溃
- Android图标比别人的小是怎么回事
- android震动的参数怎么设置
private AsyncQueryHandler asyncQuery;
/**
* 读取通讯录
*/
private void readContacts(){
asyncQuery = new ContactAsyncQueryHandler(getContentResolver());
Uri uri = Uri.parse("content://com.android.contacts/data/phones");
String[] projection = { "_id", "display_name", "data1", "sort_key" };
asyncQuery.startQuery(0, null, uri, projection, null, null,
"sort_key COLLATE LOCALIZED asc");
}
//异步查询联系人
private class ContactAsyncQueryHandler extends AsyncQueryHandler {
public ContactAsyncQueryHandler(ContentResolver cr) {
super(cr);
}
protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
if (cursor != null && cursor.getCount() > 0) {
ArrayList<CallsItem> list = new ArrayList<CallsItem>();
cursor.moveToFirst();
for (int i = 0; i < cursor.getCount(); i++) {
CallsItem item = new CallsItem();
cursor.moveToPosition(i);
String name = cursor.getString(1);
String number = cursor.getString(2);
String sortKey = cursor.getString(3);
if (number.startsWith("+86")) {
number = number.substring(3); //去掉+86
}
item.name = name;
item.number = number;
item.sort = sortKey;
list.add(item);
// System.out.println("name:" + name + " number:" + number + " sort:" + sortKey);
}
app.allList = list;
}
}
}