Android 从默认短信应用程序获取短信活动结果
我创建了以下方法来打开设备的默认SMS应用程序,并用消息和(可选)电话号码预填充它 我想知道的是,只有在发送短信后,如何才能从短信活动中获得返回的Android 从默认短信应用程序获取短信活动结果,android,Android,我创建了以下方法来打开设备的默认SMS应用程序,并用消息和(可选)电话号码预填充它 我想知道的是,只有在发送短信后,如何才能从短信活动中获得返回的结果\u OK?目前,当我退出SMS活动时,我得到了一个被取消的结果 有没有一种简单的方法可以确定返回到我的应用程序时是否发送了短信 public static void sendSMS(Activity activity, String message, String phoneNumber){ boolean hasPhoneNu
结果\u OK
?目前,当我退出SMS活动时,我得到了一个被取消的结果
有没有一种简单的方法可以确定返回到我的应用程序时是否发送了短信
public static void sendSMS(Activity activity, String message, String phoneNumber){
boolean hasPhoneNumber = phoneNumber != null;
if(message == null){
showSMSError(activity, null);
return;
}
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:" + (hasPhoneNumber ? phoneNumber : "")));
//No resolvable activity
if (smsIntent.resolveActivity(activity.getPackageManager()) == null) {
showSMSError(activity, null);
return;
}
}else{
//Old way of accessing sms activity
smsIntent = new Intent(Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
if(hasPhoneNumber) {
smsIntent.putExtra("address", phoneNumber);
}
smsIntent.putExtra("exit_on_sent", true);
}
smsIntent.putExtra("sms_body", message);
activity.startActivityForResult(smsIntent, SMS_ACTIVITY_REQUEST);
}
我想知道的是,只有在发送短信后,我如何才能从短信活动中获得返回的结果
编写您自己的SMS客户端应用程序,以支持startActivityForResult()
的方式实现其ACTION\u发送到
和ACTION\u查看
活动。那些Intent
操作没有记录为有结果,这就是为什么现有SMS客户端很少(如果有的话)会设置结果
我想知道的是,只有在发送短信后,我如何才能从短信活动中获得返回的结果
编写您自己的SMS客户端应用程序,以支持startActivityForResult()
的方式实现其ACTION\u发送到
和ACTION\u查看
活动。那些Intent
操作没有记录为有结果,这就是为什么现有SMS客户端很少(如果有的话)会设置结果
我想知道的是,只有在发送短信后,我如何才能从短信活动中获得返回的结果
编写您自己的SMS客户端应用程序,以支持startActivityForResult()
的方式实现其ACTION\u发送到
和ACTION\u查看
活动。那些Intent
操作没有记录为有结果,这就是为什么现有SMS客户端很少(如果有的话)会设置结果
我想知道的是,只有在发送短信后,我如何才能从短信活动中获得返回的结果
编写您自己的SMS客户端应用程序,以支持startActivityForResult()
的方式实现其ACTION\u发送到
和ACTION\u查看
活动。这些意图
操作没有记录为有结果,这就是为什么现有SMS客户端很少(如果有)会设置结果。只是为了确保我理解您的答案,您的意思是使用smsmsmanager
?@EdGeorge通过应用程序发送短信:这将是了解短信是否已发送的更有效方法。第三方短信客户端不会返回结果,因为文档中说他们不应该返回结果,您不能更改。为了确保我理解您的答案,您的意思是使用smsmsmanager
?@EdGeorge通过应用程序发送短信:这将是了解短信是否已发送的更有效方法。第三方短信客户端不会返回结果,因为文档中说他们不应该返回结果,您不能更改。为了确保我理解您的答案,您的意思是使用smsmsmanager
?@EdGeorge通过应用程序发送短信:这将是了解短信是否已发送的更有效方法。第三方短信客户端不会返回结果,因为文档中说他们不应该返回结果,您不能更改。为了确保我理解您的答案,您的意思是使用smsmsmanager
?@EdGeorge通过应用程序发送短信:这将是了解短信是否已发送的更有效方法。第三方SMS客户端将不会返回结果,因为文档说明他们不应返回结果,并且您无法更改该结果。