慕娘2197612
qq_凡若尘曦_2
qq_慕九州0408788
财财同学
是不是导错包了,smsmanger应该导入
android.telephony.SmsManager;它本身用不到访问网络的东西。也不需要开线程的。
qq_日光流年_0
应该是访问内容提供者是使用的Uri:content://zfl.com.sms.provider.Smscontentprovider/sms有错误,要么是字符串拼接错误,是匹配时没有成功导致的。
crazy灬小曾
别担心_有我陪着你
下载SQLite Expert 并安装,然后从Android Studio 的DDMS中找到数据库,导出,用Expert查看即可。
慕前端1384362
可能是你的权限没有获取到
慕粉3914370
整数,字符串。 二进制数据(图片,所有数据类型),可以这么理解。
慕粉3913390
多写一个openhelper,数据库名字相同, 表名不同
慕粉3914370
在代码里注册了 , 创建匿名内部类广播接收者的时候就是注册
qq_曹庆贽_03348738
getActivity() 相当于this 或者 Activity.this,是获取当前Activity的实例,生命周期随当前的Activity销毁而销毁;
getContext() 获取当前congtext的实例(如果使用场景是Activity则相当于 this, 如果使用场景是一个Server 那么获取的实例就是一个ApplicationContext())
qq_彳亍L_0
扑火的飞蛾krystal
代码没打对。
Bruce_Yu
数据库不是有名字吗,回调方法里接受收到信息的联系人相关信息。。
慕九州1885468
换成flash播放好点了
Mae000
不明觉厉,要多学学了
慕粉7785479
1、确认是否写入了数据库,可以通过命令行看
2、数据写入数据库了,没有显示出来(也是我遇到的问题),原因是SmsProvider中的query写错了,正确的应该是:
@Nullable
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
int match = matcher.match(uri);
switch (match) {
case SMS_ALL:
break;
case SMS_ONE:
long id = ContentUris.parseId(uri);
selection = "_id=?";
selectionArgs = new String[]{String.valueOf(id)};
break;
default:
throw new RSIllegalArgumentException("Wrong URI:" + uri);
}
mDb = mHelper.getReadableDatabase();
Cursor cursor = mDb.query(SendedMsg.TABLE_NAME, projection, selection, selectionArgs, null, null, sortOrder);
cursor.setNotificationUri(getContext().getContentResolver(), URI_SMS_ALL);
//cursor.close();
return cursor;
}注意最后两行代码
雨落花未开
当然可以,不过支持依赖包的配置需要配置完整,包括support -v4 包 ,design包 等等,导包需注意
凌伊
这个是手机应用的权限没有,你要在手机里设置你写的Dmeo可以访问通讯录
Mardan
代码可以实现的
botao555
1、确认是否写入了数据库,可以通过命令行看
2、数据写入数据库了,没有显示出来(也是我遇到的问题),原因是SmsProvider中的query写错了,正确的应该是:
@Nullable
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
int match = matcher.match(uri);
switch (match) {
case SMS_ALL:
break;
case SMS_ONE:
long id = ContentUris.parseId(uri);
selection = "_id=?";
selectionArgs = new String[]{String.valueOf(id)};
break;
default:
throw new RSIllegalArgumentException("Wrong URI:" + uri);
}
mDb = mHelper.getReadableDatabase();
Cursor cursor = mDb.query(SendedMsg.TABLE_NAME, projection, selection, selectionArgs, null, null, sortOrder);
cursor.setNotificationUri(getContext().getContentResolver(), URI_SMS_ALL);
//cursor.close();
return cursor;
}注意最后两行代码
xiaohuang007
ContentProvider的Uri,通过自定义的SmsProvider获取Cursor
慕丝2858173
你是不是没有设置SmsHistoryFragment的适配器,在setupListAdapter();方法后调用setListAdapter(mCursorAdapter); 就行了
qq__2427
报什么错?错误信息是什么?
二十三四岁
Android 操作SQLite基本用法
http://blog.csdn.net/codeeer/article/details/30237597
Oscarui
鸿洋老师,一直是做javaee的
zsy986212
要学会自己敲,加深印象
koala123
wuzi
你每条记录都是一个数据bean吧,从bean里提取出id呗,前提是你之前存记录的时候也把id存了