2012-04-29 23 views
0

私のアプリには画像ボタンがあります。クリックすると、SMSでのテキストのみが送信されます。どうすれば私のアプリにそれをさせることができますか?助けてください。SMS経由でのみ共有

また、自分の端末の連絡先リストから連絡先を選択できるようにしたいと考えています。

Jumana

+1

オプションをSMSのみに限定したいのはなぜですか?共有の意図の強さは、ユーザーが自由に選択できるようにすることです。 – Eloff

答えて

16

インテントを使用してSMSを送信するには、次のコードを使用します。

String smsBody="Sms Body"; 
Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
sendIntent.putExtra("sms_body", smsBody); 
sendIntent.setType("vnd.android-dir/mms-sms"); 
startActivity(sendIntent); 

このヘルプが欲しいです!

+1

Kitkatの 'Intent'を処理するアクティビティが見つかりません –

+0

KitKatがSMS APIを変更したようです。私は新しいAPIを試しませんでした。 –

+5

http://stackoverflow.com/questions/20079047/android-kitkat-4-4-hangouts-cannot-handle-sending-sms-intent/20079048#20079048 –

-2

試して次のコードは、[...]ボタンのonClickListener()でこのコードを追加します。 SMSを送信可能にするため

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
     sharingIntent.setType("text/plain"); 
     String shareBody = "Here is the share content body"; 
     sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject Here"); 
     sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody); 
     startActivity(Intent.createChooser(sharingIntent, "Share via")); 
+0

しかし、利用可能なすべてのオプションが表示されます。私は選択肢から "メッセージ"オプションだけを必要とします。 – Jumana

+0

このコードはすべてのオプションを表示します。これはNejabによって提供されるsolutinがあなたが望むものです –

1

ステップ:アンドロイド、マニフェストに

1-、以下のように送信SMSアクセス許可を追加します。

:YOUT活性の

<uses-permission android:name="android.permission.SEND_SMS" /> 

2-この方法を追加

public void sendSms(final String receiverNumber, final String smsBody) { 
    SmsManager smsManager = SmsManager.getDefault(); 
    smsManager.sendTextMessage(receiverNumber, null, smsBody, null, null);   
} 
+0

これはデバイスに既に入っている連絡先リストを表示しませんか? – Jumana

+0

いいえ、このコードスニペットはプログラム的にSMSを送信します。あなたがデフォルトのSMSプログラムを使用したい場合は、@sandip armalと答えてIntentsを使用してください。 –

+0

@Ali Behzadian Nejadに感謝します。しかし、私は、ユーザーがSMSを介してのみ共有するという選択肢を与えられるようにしたい。インテントチューザーは、twitter、facebookなどを正しく表示しますか?また、ユーザーはSMSを送信するために連絡先リストから連絡先を選択できる必要があります。 – Jumana

関連する問題