【问题标题】:Android. Set phone number when sending message by hangout安卓。通过环聊发送消息时设置电话号码
【发布时间】:2015-05-14 15:22:45
【问题描述】:

我想通过环聊发送消息时设置电话号码。

当我使用短信时,可以如下进行。

Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.setData(Uri.parse("sms:"));
sendIntent.putExtra("sms_body", message);
sendIntent.putExtra("adress", phoneNumber);
context.startActivity(sendIntent);

但我不知道如何在环聊中设置电话号码或按电话号码定位.. 这是我当前使用环聊的代码。

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) //At least KitKat
    {
        String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(context);

        Intent sendIntent = new Intent(Intent.ACTION_SEND);
        sendIntent.setType("text/plain");
        sendIntent.putExtra(Intent.EXTRA_TEXT, message);

        if (defaultSmsPackageName != null)
        {
            sendIntent.setPackage(defaultSmsPackageName);
        }
        context.startActivity(sendIntent);
    }

已编辑..!

我从here 找到了解决方案。 请参阅@Roberto B. 的解决方案。

【问题讨论】:

    标签: android android-intent sms hangout


    【解决方案1】:

    我最近使用了以下代码,它似乎可以满足您的要求:

    public static void sendSMS(Activity activity, String message, String phoneNumber){
    
            Intent smsIntent;
    
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
                smsIntent = new Intent(Intent.ACTION_SENDTO);
                //Ensures only SMS apps respond
                smsIntent.setData(Uri.parse("smsto:" + phoneNumber));
    
                //No resolvable activity
                if (smsIntent.resolveActivity(activity.getPackageManager()) == null) {
                    return;
                }
    
            }else{
                //Old way of accessing sms activity
                smsIntent = new Intent(Intent.ACTION_VIEW);
                smsIntent.setType("vnd.android-dir/mms-sms");
                smsIntent.putExtra("address", phoneNumber);
                smsIntent.putExtra("exit_on_sent", true);
            }
            smsIntent.putExtra("sms_body", message);
            activity.startActivity(smsIntent);
        }
    

    【讨论】:

    • 感谢您的评论!!我测试了你的代码。但在 kitkat 中,smsIntent.resolveActivity(activity.getPackageManager()) 返回 null。
    猜你喜欢
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 2018-01-18
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    相关资源
    最近更新 更多