Android 从其他活动中删除短信
我使用(“content://sms/inbox)在我的自定义列表视图中,当前我正在获取地址正文和_id现在我想从其他活动中删除所选短信请指导我我是Android的初学者 这是我的主要活动,但我想从其他活动中删除所选短信Android 从其他活动中删除短信,android,Android,我使用(“content://sms/inbox)在我的自定义列表视图中,当前我正在获取地址正文和_id现在我想从其他活动中删除所选短信请指导我我是Android的初学者 这是我的主要活动,但我想从其他活动中删除所选短信 Uri uri = Uri.parse("content://sms/"); ContentResolver contentResolver = getContentResolver(); Cursor cursor = contentResolver.que
Uri uri = Uri.parse("content://sms/");
ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query(uri, null, null, null, null, null);
if(cursor !=null && cursor.moveToFirst()){
do{
// name = getContactName(address);
tid= cursor.getString(cursor.getColumnIndexOrThrow("_id"));
address = cursor.getString(cursor.getColumnIndexOrThrow("address"));
body = cursor.getString(cursor.getColumnIndexOrThrow("body"));
if(name==null) {
list.add(new mybean("" + address, "" + body,""+tid));
}
else{
list.add(new mybean("" + name, "" + body,""+tid));
}
my =new myadapter(this,list);
lv.setAdapter(my);
}while(cursor.moveToNext());
}
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int pos, long l) {
Intent intent =new Intent(MainActivity.this,Main2Activity.class);
intent.putExtra("delete",list.get(pos).getDel());
intent.putExtra("sms",list.get(pos).getNumber());
intent.putExtra("smsmsg",list.get(pos).getMsg());
startActivity(intent);
}
});
Uri=Uri.parse(“content://sms/");
ContentResolver ContentResolver=getContentResolver();
Cursor Cursor=contentResolver.query(uri,null,null,null,null);
if(cursor!=null&&cursor.moveToFirst()){
做{
//名称=getContactName(地址);
tid=cursor.getString(cursor.getColumnIndexOrThrow(“_id”);
地址=cursor.getString(cursor.getColumnIndexOrThrow(“地址”);
body=cursor.getString(cursor.getColumnIndexOrThrow(“body”);
if(name==null){
添加(新的mybean(“+地址,“+正文,“+tid”);
}
否则{
添加(新的mybean(“+name”,“+body”,“+tid”);
}
my=新的myadapter(此,列表);
lv.setAdapter(我的);
}while(cursor.moveToNext());
}
lv.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共虚线单击(AdapterView AdapterView,视图视图,内部位置,长l){
意向意向=新意向(MainActivity.this,Main2Activity.class);
intent.putExtra(“删除”,list.get(pos.getDel());
intent.putExtra(“sms”,list.get(pos.getNumber());
intent.putExtra(“smsg”,list.get(pos.getMsg());
星触觉(意向);
}
});
以下是如何删除短信的指南
为了基特卡特
首先,你应该选择你的应用作为默认短信应用,然后你可以删除或删除短信。。
你也可以参考这篇文章
下面是以编程方式删除sms的教程
我希望这些帖子对你有所帮助,如果你有任何问题可以在这里发表评论
1.首先在清单中添加权限
2.编写方法
public boolean deleteSms(String smsId) {
boolean isSmsDeleted = false;
try {
mActivity.getContentResolver().delete(
Uri.parse("content://sms/" + smsId), null, null);
isSmsDeleted = true;
} catch (Exception ex) {
isSmsDeleted = false;
}
return isSmsDeleted;
}
您现在可以删除sms字节码
您也可以尝试此代码
try {
Uri uriSms = Uri.parse("content://sms/inbox");
Cursor c = context.getContentResolver().query(
uriSms,
new String[] { "_id", "thread_id", "address", "person",
"date", "body" }, "read=0", null, null);
if (c != null && c.moveToFirst()) {
do {
long id = c.getLong(0);
long threadId = c.getLong(1);
String address = c.getString(2);
String body = c.getString(5);
String date = c.getString(3);
Log.e("log>>>",
"0--->" + c.getString(0) + "1---->" + c.getString(1)
+ "2---->" + c.getString(2) + "3--->"
+ c.getString(3) + "4----->" + c.getString(4)
+ "5---->" + c.getString(5));
Log.e("log>>>", "date" + c.getString(0));
ContentValues values = new ContentValues();
values.put("read", true);
getContentResolver().update(Uri.parse("content://sms/"),
values, "_id=" + id, null);
if (message.equals(body) && address.equals(number)) {
// mLogger.logInfo("Deleting SMS with id: " + threadId);
context.getContentResolver().delete(
Uri.parse("content://sms/" + id), "date=?",
new String[] { c.getString(4) });
Log.e("log>>>", "Delete success.........");
}
} while (c.moveToNext());
}
} catch (Exception e) {
Log.e("log>>>", e.toString());
}
由于KitKat(4.4),您的应用程序无法从提供商删除短信,除非它是当前默认的短信应用程序。是的,我现在理解了逻辑,谢谢