2012-01-11 16 views
0

テキストメッセージが送信されると、受信者のデフォルトのテキストメッセージアプリで開くアプリケーション 'myApp'と言えます。しかし、私は受信機にどのように見えるかを制御したい(色の変更など)。とにかくネイティブアプリ「myApp」にテキストを送信してそのテキストを読むことはありますか?または、それが 'myApp'から送信されたことを確認し、メッセージを 'myApp'にインポートします。テキストメッセージをサードパーティのアプリケーション(アンドロイド)で直接開くことができますか?

答えて

1

メッセージを受信することができます確か入ってくるメッセージのための放送受信機を作るANたびにメッセージがメッセージを表示し、あなたの活動を開始到着...

public class SMSApp extends IntentReceiver { 
    private static final String LOG_TAG = "SMSApp"; 

    /* package */ static final String ACTION = 
      "android.provider.Telephony.SMS_RECEIVED"; 

    public void onReceiveIntent(Context context, Intent intent) { 
     if (intent.getAction().equals(ACTION)) { 
      StringBuilder buf = new StringBuilder(); 
      Bundle bundle = intent.getExtras(); 
      if (bundle != null) { 
       SmsMessage[] messages = Telephony.Sms.Intents.getMessagesFromIntent(intent); 
       for (int i = 0; i < messages.length; i++) { 
        SmsMessage message = messages[i]; 
        buf.append("Received SMS from "); 
        buf.append(message.getDisplayOriginatingAddress()); 
        buf.append(" - "); 
        buf.append(message.getDisplayMessageBody()); 
       } 
      } 
      //start you messages activity 

     Intent i = new Intent(); 
     i.setClassName("com.test", "com.test.myMessagesAcivity"); 
     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

     //prepare message text to be sent to the activity via bundle 
     Bundle bundle = new Bundle(); 
     bundle.putString("message", but.toString()); 
     i.putExtras(bundle); 
     context.startActivity(i); 


     } 
    } 


} 

とマニフェストファイルにこれらの権限

を追加
<uses-permission android:id="android.permission.RECEIVE_SMS" /> 

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

と、この受信機

<receiver class="SMSApp"> 

      <intent-filter> 

       <action android:value="android.provider.Telephony.SMS_RECEIVED" /> 

      </intent-filter> 

     </receiver> 

そしてあなたのアプリから

使用

public void eb3atSMS(String phoneNumber, String message) 
    {   

     PendingIntent pi = PendingIntent.getActivity(this, 0, 
      new Intent(this, **DummyClasshere.class**), 0);     
     SmsManager sms = SmsManager.getDefault(); 
     sms.sendTextMessage(phoneNumber, null, message, pi, null);   
    }  
+0

はあなたに感謝し、この方法をSMSを送信するために、それは私が探していたすべてです –

関連する問題