保存发送的短信
本文关键字:保存 | 更新日期: 2023-09-27 18:28:47
我可以使用发送短信
var smsMgr = Android.Telephony.SmsManager.Default;
smsMgr.SendTextMessage(num, null, txt, null, null);
但此消息未显示在已发送短信列表中
所以我尝试了
var values = new ContentValues();
values.Put("address", num);
values.Put("body", txt);
try
{
ContentResolver.Insert(Android.Net.Uri.Parse("content://sms/sent"), values);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
在我的代码中有
[assembly: UsesPermission(Name = "android.permission.SEND_SMS")]
[assembly: UsesPermission(Name = "android.permission.WRITE_SMS")]
但每次我得到SecurityException
附带说明:我的手机没有根权限
我能做什么?
最后我发现了如何让短信出现在发送标签上:我需要
[assembly: UsesPermission(Name = "android.permission.READ_SMS")]
我不知道这是不是每个手机或安卓版本的要求,但添加该权限后一切正常!!
private void addSENTSMS(String address, String message) {
try {
ContentValues values = new ContentValues();
values.put("address", address);
values.put("body", message);
getContentResolver()
.insert(Uri.parse("content://sms/sent"), values);
}
catch (Exception e) {
e.printStackTrace();
}
}
还要确保您使用以下权限:
<uses-permission android:name="android.permission.WRITE_SMS" />
为什么在类MainActivity:Activity中实现的方法中插入(…)getContentResolver'名称在当前上下文中不存在?