我可以在发送内置SMS应用程序的短信之前修改sms_body吗?

时间:2012-08-29 20:08:55

标签: android sms

我知道我们可以通过这种方式通过内置的短信应用发送短信 -

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

但是在我的应用程序中,我想修改短信机构的一些文本,然后再将发送给接收方。有什么办法吗?

我知道我可以使用SmsManager的sendTextMessage方法来实现。我只是想知道,内置的短信应用也可以吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

这是不可能的,因为SmsManager是框架的一部分。你不能劫持它。

编辑: 您可以做的是更改您的应用清单,以便像默认消息传递应用一样接收ACTION_VIEW和uri sms:,然后在启动时更改主体并启动默认消息传递应用。

编辑: 将以下意图过滤器添加到您的应用程序,然后从意图中“sms_body”额外添加,并通过createChooser重新广播它

 <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <action android:name="android.intent.action.SENDTO" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="sms" />
    <data android:scheme="smsto" />
 </intent-filter>