android【打電話,收發簡訊實現】

來源:互聯網
上載者:User

1.打電話;

EditText mobileText = (EditText)findViewById(R.id.mobile);

String mobile = mobileText.getText().toString();

Intent intent = new Intent();

intent.setAction("android.intent.action.CALL");

intent.setData(Uri.parse("tel:"+ mobile));

startActivity(intent);

 

2.發簡訊

EditText mobileText = (EditText)findViewById(R.id.mobile);

EditText contentText = (EditText)findViewById(R.id.content);

String mobile = mobileText.getText().toString();

String content = contentText.getText().toString();

SmsManager smsManager = SmsManager.getDefault();

ArrayList<String> texts = smsManager.divideMessage(content);//拆分簡訊

for(String text : texts){

smsManager.sendTextMessage(mobile, null, text, null, null);

}

需在AndroidManifest中聲明:<uses-permission android:name="android.permission.SEND_SMS"/>

 

3.收簡訊:

public class SMSReceiver extends BroadcastReceiver

{

 

@Override

public void onReceive(Context context, Intent intent)

{

 

if ("android.provider.Telephony.SMS_RECEIVED"

.equals(intent.getAction()))

{     

String phonenumber = null;

String message=null;

// 接收由SMS傳過來的資料

Bundle bundle = intent.getExtras();

// 判斷是否有資料

if (bundle != null)

{

//  通過pdus可以獲得接收到的所有簡訊訊息

Object[] objArray = (Object[]) bundle.get("pdus");

/* 構建簡訊對象array,並依據收到的對象長度來建立array的大小 */

SmsMessage[] messages = new SmsMessage[objArray.length];

for (int i = 0; i < objArray.length; i++)

{

messages[i] = SmsMessage

.createFromPdu((byte[]) objArray[i]);

}

 

for (SmsMessage currentMessage : messages)

{

phonenumber = currentMessage.getDisplayOriginatingAddress();

message = currentMessage.getDisplayMessageBody();

}

}

Toast.makeText(context, "Number="+phonenumber+"Msg="+message, Toast.LENGTH_LONG).show();

}

}

 

}需在AndroidManifest中聲明:<uses-permission android:name="android.permission.RECEIVE_SMS"/>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.