【问题标题】:Saving sent sms保存发送的短信
【发布时间】:2014-11-05 23:47:39
【问题描述】:

我可以使用

发送短信
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
旁注:我的手机没有 root 权限
我能做什么?

【问题讨论】:

标签: c# sms xamarin.android


【解决方案1】:

我终于发现了如何让短信出现在已发送标签上:我需要

[assembly: UsesPermission(Name = "android.permission.READ_SMS")]

我不知道这是否是每个手机或 Android 版本的要求,但添加该权限一切正常!!

【讨论】:

    【解决方案2】:
    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" />
    

    【讨论】:

    • 以上代码在所有版本和 API 级别都可以正常工作。我已经在我的许多应用中使用了以下代码 sn-p。
    • 我应该有权限,因为我在我的应用程序中设置了它,正如您在问题中看到的那样。 ContentResolver.InsertgetContentResolver().insert 之间有什么区别(在您看来)?
    • 另一个问题:我应该有我手机的根才能使用它吗?是否有某些原因无法授予WRITE_SMS 权限?抱歉,我只能在几个小时内测试你的代码,但现在不行......
    • @Marco 都是一样的,但是在使用 ContentResolver.Insert 时返回 null 大多数时候,所以查询内容解析器的更合适的方法是第二个(代码 sn-p 由我共享)。同样对于编写 SMS ,无需路由电话。您只需要在清单中提供所需的权限。
    • 我没有getContentResolver()...你从哪里得到它?你用的是什么语言?!?对不起,但老实说我不明白......我错过了一些参考吗?
    【解决方案3】:

    为什么在 MainActivity:Activity 类中实现的方法中的 getContentResolver.Insert(...) 出现编译错误“名称 'getContentResolver' 在当前上下文中不存在”?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-15
      • 2020-05-26
      • 2014-08-07
      • 2019-04-24
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多