2016-04-08 31 views
0

Android uygulamamdan bir SMS göndermeye çalışıyorum. Düğmemde her tıkladığımda, try yerine catch bölümüne gider.Android uygulamamdan nasıl SMS gönderebilirim?

Button sms = (Button)findViewById(R.id.button2); 
    sms.setOnClickListener(
      new View.OnClickListener() 
      { 
       public void onClick(View view) 
       { 

        Log.i("Send SMS", ""); 
        Intent sms = new Intent(Intent.ACTION_VIEW); 
        sms.setData(Uri.parse("smsto:")); 
        sms.setType("vnd.android-dir/mms-sms"); 
        sms.putExtra("address", new String(con)); 
        sms.putExtra("sms_body", "Test SMS to Angilla"); 

        try { 
         startActivity(sms); 
         finish(); 
         Log.i("Finished sending SMS...", ""); 
        } 
        catch (android.content.ActivityNotFoundException ex) { 
         Toast.makeText(DetailActivity.this, 
           "SMS faild, please try again later.", Toast.LENGTH_SHORT).show(); 
        } 

       } 
      }); 
+0

u iznini ekleyin var ?? –

+0

[this] deneyin (http://stackoverflow.com/a/34488582/5733111) – Sanoop

+1

cevap

1

Sen gönderebilirsiniz sms iki yolu: 2. Her iki yol da apaçık

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

app Dahili 1. SMS Yöneticisi İşte

benim yöntemidir

Örnek: sms yöneticisi:

SmsManager smsManager = SmsManager.getDefault(); 
smsManager.sendTextMessage("phoneNo", null, "sms message", null, null); 
Yerleşik uygulamayla

Örnek:

Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
sendIntent.putExtra("sms_body", "default content"); 
sendIntent.setType("vnd.android-dir/mms-sms"); 
startActivity(sendIntent); 
+0

Zaten bu ikisini denedi, ama şans yok. –

+1

Niyet amacı = yeni Niyet (Intent.ACTION_SENDTO); intent.setData (Uri.parse ("smsto:" + Uri.encode (telefonNumber))); startActivity (intent); – Alexander

+0

Çalışıyor (yerleşik uygulama ile), ama bu çalışmıyor "Uri.encode (telefonNumarası)" Ayrıca ide çalıştı "intent.setData (Uri.parse (" smsto: "+ con)); –

1

Bu benim için çalışıyor:

Intent sendIntent = new Intent(Intent.ACTION_SENDTO); 
sendIntent.setData(Uri.parse("smsto:")); 
sendIntent.putExtra("sms_body", "Your message"); 

try { 
    startActivity(sendIntent); 
} catch (android.content.ActivityNotFoundException ex) { 
    ex.printStackTrace(); 
} 
İlgili konular