1

这是我们应用程序中的代码片段。

public void onClick(View v) {
    // TODO Auto-generated method stub

    Intent sms = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" ));
    sms.putExtra("sms_body", text);
    startActivity(sms);
}

这适用于股票 SMS 应用程序,但是测试人员报告说,使用 handcent SMS 他们会收到一条空白消息。这促使我尝试使用谷歌语音,在那里也收到一条空白消息。

有什么方法可以让我的消息文本与所有这些其他 SMS 应用程序一起使用?

我们有剪贴板功能,所以一个糟糕的解决方法至少是让用户按下剪贴板按钮,然后使用他们选择的消息传递应用程序。

4

2 回答 2

1

Android 尝试尽可能多地重用 Intent。在某些情况下,当您启动一个意图时,android 不会创建新的意图并重用以前的意图。为避免这种情况,请设置此 Intent 标志:

smsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

此标志强制 Android 在堆栈顶部使用 Intent 的 Activity 创建一个新任务。

于 2012-05-07T22:22:46.980 回答
0

当您传递此意图时,它将被传递给所有已注册活动以接收它的应用程序。换句话说,您必须使用您打算处理您的意图的应用程序注册的意图

于 2012-05-07T10:32:12.050 回答