2012-05-06 9 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); 
} 

これは株式SMSアプリでは機能しますが、ハンドスキャナSMSでは空白のメッセージが表示されることがテスターから報告されています。これは私にGoogle Voiceで試してみるよう促し、そこに空白のメッセージも表示されました。

メッセージテキストをこれらの他のSMSアプリケーションすべてで使用できるようにする方法はありますか?

私たちはクリップボードの機能を持っているため、少なくともユーザプッシュクリップボードボタンを持っている可能性があります。

+1

アリ、私はあなたの質問を理解していません。アプリは、異なる変数に基づいて送信するテキストを作成し、メッセージを送信することを意図しています。 – user772913

+0

あなたは別のアクティビティを開く必要なくあなたの活動からあなたのSMSを直接送ることができます。 'SmsManager.getDefault()。sendTextMessage(" phoneNumber "、null、" Sms Body "、null、null);' AndroidManifest.xmlにアクセス許可を設定することを忘れないでください: ' ' –

+1

[OK]を選択します。また、ユーザーは、送信されたメッセージをカスタマイズすることもできます。 – user772913

答えて

0

このインテントを渡すと、これを受け取るアクティビティを登録したすべてのアプリに配信されます。言い換えれば、あなたの意図を処理しようとするアプリケーションによって登録されたインテントを使用する必要があります。

1

Androidは可能な限りインテントを再利用しようとします。インテントを開始すると、新しいインテントが作成されず、以前のインテントが再利用されることもありません。

smsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

このフラグを強制的にAndroidはスタックの一番上の目的の活動で新しいタスクを作成するには:このセット意向このフラグを避けるために。

+0

素晴らしいチップ、ありがとう – Fattie

関連する問題