获取Android短信草稿箱号码为空的解决办法
2013-02-22 16:07
411 查看
通过"content://sms"可以获取用于展现短信的几乎所有的信息,但是草稿箱的号码若通过"address"字段来获取的话,是空的。我目前找到了一种方法可以获取,不一定是最佳的方法。
参考了http://bbs.csdn.net/topics/350089080。不废话了,请将下面代码(manifest里面别忘了加“<uses-permission android:name="android.permission.READ_SMS" />”这句)植入MainActivity的onCreate()里面,然后运行之:
参考了http://bbs.csdn.net/topics/350089080。不废话了,请将下面代码(manifest里面别忘了加“<uses-permission android:name="android.permission.READ_SMS" />”这句)植入MainActivity的onCreate()里面,然后运行之:
ContentResolver resolver = getContentResolver(); Cursor cursorForThreadId = resolver.query(Uri.parse("content://mms-sms/conversations?simple=true"), null, null, null, null); while (cursorForThreadId.moveToNext()) { long threadId = cursorForThreadId.getLong(cursorForThreadId.getColumnIndex("_id")); Log.e("", "thread_id = " + threadId); Cursor cursorSms = resolver.query(Uri.parse("content://sms"), null, "thread_id=" + threadId, null, null); while (cursorSms.moveToNext()) { String address = null; /** * Draft's "type" is 3. */ if (cursorSms.getInt(cursorSms.getColumnIndex("type")) == 3) { Cursor cursorCanonicalAddress = resolver.query( Uri.parse("content://mms-sms/canonical-address/" + threadId), null, null, null, null); if (cursorCanonicalAddress.moveToFirst()) { address = cursorCanonicalAddress.getString(cursorCanonicalAddress.getColumnIndex("address")); } cursorCanonicalAddress.close(); } else { address = cursorSms.getString(cursorSms.getColumnIndex("address")); } Log.e("", "address = " + address + " body = " + cursorSms.getString(cursorSms.getColumnIndex("body"))); } cursorSms.close(); Log.e("", "------------------------"); } cursorForThreadId.close();
相关文章推荐
- Android监听SMS发送状态并获取短信服务中心号码
- android获取状态栏高度为0的解决办法。
- Android SDK Manager 无法获取SDK列表的解决办法(转)
- android popupwindow 中EditText自动弹出输入法并获取焦点 解决办法
- Android 编程下短信监听在小米手机中失效的解决办法
- android获取状态栏高度为0的解决办法
- android通过BitmapFactory.decodeFile获取图片bitmap报内存溢出的解决办法
- Android 编程下短信监听在小米手机中失效的解决办法
- Android监听SMS发送状态并获取短信服务中心号码
- Android 4.4以上第三方应用不能插入短信的解决办法
- android中HttpClient获取Session然后使用 WebView共享session的解决办法
- Android4.0.4之后,服务器返回401或者407时,获取不到消息体的解决办法
- 获取android源码时无法下载repo的解决办法
- 安卓模拟器Android SDK Manager 无法获取SDK列表的解决办法
- Android 获取不到控件位置信息的解决办法
- android 手机Phone进程下无权限发送短信问题的解决办法
- Android监听SMS发送状态并获取短信服务中心号码
- android中获取文件的md5值时首位出现0被省略,而造成了只有31位字符的解决办法。
- android 获取状态栏高度为0的解决办法
- Android监听SMS发送状态并获取短信服务中心号码