2012-08-29 142 views
0

我知道我們能以這種方式通過發送短信內置的短信應用 -在使用內置SMS應用程序發送短信之前,我可以修改sms_body嗎?

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

但在我的應用程序,我想送它到接收器之前修改短信身體的一些文字。有什麼辦法嗎?

我知道我可以使用smsManager的sendTextMessage方法。我只想知道,內置短信應用程序也可以嗎?

謝謝。

回答

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> 
+0

我怎樣才能收到「的短信:」在清單?你還可以告訴我一些細節,我怎樣才能在發射後改變身體? – Khobaib

+0

檢查編輯。 – nandeesh

相關問題