2012-05-06 37 views
1

這裏是我們的應用程序現在的代碼片段。在android中填充SMS消息

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); 
} 

這適用於股票短信應用程序,但測試人員報告說,與handcent短信他們得到一個空白的消息。這促使我用Google Voice試用它,在那裏也收到一條空白消息。

有什麼方法可以讓我的消息文本與所有這些其他SMS應用程序一起使用?

我們有一個剪貼板功能,所以一個糟糕的解決方法至少會有用戶推剪貼板按鈕,然後使用他們的消息應用程序的選擇。

+1

阿里,我不明白你的問題。該應用程序根據不同的變量建立一個文本發送,然後有意發送消息。 – user772913

+0

你可以直接從你的活動發送你的短信,無需打開另一個活動。 SmsManager.getDefault()。sendTextMessage(「phoneNumber」,null,「Sms Body」,null,null);'不要忘記在AndroidManifest.xml中設置權限:'<使用權限android:name =「android。 permission.SEND_SMS「/>' –

+1

好的,但選擇地址是什麼?另外,用戶可能想要自定義發送的消息。 – user772913

回答

0

當你傳遞這個意圖時,它將被傳送到所有那些註冊了一個活動來接收它的應用程序。換言之,您必須使用您意圖處理您的意圖的應用程序註冊的意圖。

1

Android試圖儘可能重用Intents。在某些情況下,當你啓動一個intent時,android不會創建一個新的Intent並重用以前的意圖。爲了避免這種設置該標誌意向:

smsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

這個標誌Android的力量創造的意圖對堆棧的頂部活動新任務。

+0

偉大的提示,謝謝 – Fattie