Thursday, 26 July 2012

Android Telefonunuzdan Mesaj Gönderme

Merhaba,

Bu yazımda Android platformunu kullanarak nasıl mesaj gönderebileceğinize değineceğim.

Alttaki kod blogu işinizi görecektir.

package com.android.Sms;

import android.app.Activity;
import android.app.PendingIntent;
import android.app.ProgressDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.telephony.gsm.*;
import android.telephony.cdma.*;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class TSms extends Activity{
     Button btnSendSMS;
     EditText txtPhoneNo;
     EditText txtMessage;
     public ProgressDialog pd;
    
     private void sendSMS(String phoneNumber, String message)
     {       
         String SENT = "SMS_SENT";
         String DELIVERED = "SMS_DELIVERED";
 
         PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
             new Intent(SENT), 0);
 
         PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
             new Intent(DELIVERED), 0);
 
         //---when the SMS has been sent---
         registerReceiver(new BroadcastReceiver(){
             @Override
             public void onReceive(Context arg0, Intent arg1) {
                 switch (getResultCode())
                 {
                 case Activity.RESULT_OK:
                     Toast.makeText(getBaseContext(), "SMS sent",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                     Toast.makeText(getBaseContext(), "Generic failure",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_NO_SERVICE:
                     Toast.makeText(getBaseContext(), "No service",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_NULL_PDU:
                     Toast.makeText(getBaseContext(), "Null PDU",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_RADIO_OFF:
                     Toast.makeText(getBaseContext(), "Radio off",
                             Toast.LENGTH_SHORT).show();
                     break;
             }
         }
     }, new IntentFilter(SENT));
       //---when the SMS has been delivered---
         registerReceiver(new BroadcastReceiver(){
             @Override
             public void onReceive(Context arg0, Intent arg1) {
                 switch (getResultCode())
                 {
                     case Activity.RESULT_OK:
                         Toast.makeText(getBaseContext(), "SMS delivered",
                                 Toast.LENGTH_SHORT).show();
                         break;
                     case Activity.RESULT_CANCELED:
                         Toast.makeText(getBaseContext(), "SMS not delivered",
                                 Toast.LENGTH_SHORT).show();
                         break;                       
                 }
             }
         }, new IntentFilter(DELIVERED));       
 
     
         SmsManager sms = SmsManager.getDefault();
         sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);       
     }
    
    
  public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.tabviewsms);
  
     pd = new ProgressDialog(this);
     pd.setMessage("Isleminiz Yapiliyor....");
     pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
     pd.setMax(100);
     pd.setIndeterminate(false);
     btnSendSMS = (Button)   findViewById(R.id.btnSendSMS);
        txtPhoneNo = (EditText) findViewById(R.id.txtPhoneNo);
        txtMessage = (EditText) findViewById(R.id.txtMessage);
       
        btnSendSMS.setOnClickListener(new View.OnClickListener()
        {
     public void onClick(View v)
     {
     String phoneNo =  txtPhoneNo.getText().toString();
     String message =  txtMessage.getText().toString();
   
   
     if(phoneNo.length()>0 && message.length()>0)
     {
       sendSMS(phoneNo, message);
     }
    else
      Toast.makeText(getBaseContext(), "Lutfen Gsm No veya Mesaj Alanini Bos Birakmayiniz !!!", Toast.LENGTH_SHORT).show();
    }
  });
     }
  }
Kodunuzu yazdiktan sonra AndroidManifest.xmş dosyanızda alttaki izinleri tanımlamanız gerekmektedir.

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

Teşekkürler
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>

No comments:

Post a Comment