我知道我们可以通过这种方式通过内置的短信应用发送短信 -
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.setData(Uri.parse("sms:"));
sendIntent.putExtra("sms_body", "");
startActivity(sendIntent);
但是在我的应用程序中,我想修改短信机构的一些文本,然后再将发送给接收方。有什么办法吗?
我知道我可以使用SmsManager的sendTextMessage方法来实现。我只是想知道,内置的短信应用也可以吗?
谢谢。
答案 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>