展会信息港展会大全

调用打电话和发短信、收短信接口、发Email Android应用开发
来源:互联网   发布日期:2016-01-14 09:25:38   浏览:2231次  

导读:调用打电话和发短信、收短信接口、发Email打电话和发短信可以说是最核心的应用了,本文就来阐述它的调用方法。可以分为直接调用--直接电话或短信发出,已经间接调用--进入拨号或短信撰写页面,等待用户确认内容后......

调用打电话和发短信、收短信接口、发Email

打电话和发短信可以说是最核心的应用了,本文就来阐述它的调用方法。可以分为直接调用--直接电话或短信发出,已经间接调用--进入拨号或短信撰写页面,等待用户确认内容后由用户发出.

先看代码效果截图:

先编写主界面Activaty,创建类CallAndSms作为为默认启动页

[java] view plaincopy

1.package jtapp.callandsms;

2.

3.import java.util.List;

4.

5.import android.app.Activity;

6.import android.content.Intent;

7.import android.net.Uri;

8.import android.os.Bundle;

9.import android.telephony.SmsManager;

10. import android.view.View;

11. import android.view.View.OnClickListener;

12. import android.widget.Button;

13. import android.widget.Toast;

14.

15. public class CallAndSms extends Activity {

16./** Called when the activity is first created. */

17.@Override

18.public void onCreate(Bundle savedInstanceState) {

19.super.onCreate(savedInstanceState);

20.setContentView(R.layout.main);

21.

22.setComponent();

23.}

24.

25.private void setComponent() {

26.Button bt1 = (Button) findViewById(R.id.Button01);

27.bt1.setOnClickListener(new OnClickListener() {

28.@Override

29.public void onClick(View v) {

30.Intent intent = new Intent(

31.Intent.ACTION_CALL, Uri.parse("tel:10010"));

32.startActivity(intent);

33.}

34.});

35.Button bt2 = (Button) findViewById(R.id.Button02);

36.bt2.setOnClickListener(new OnClickListener() {

37.@Override

38.public void onClick(View v) {

39.String smsContent = "102";

40.// note: SMS must be divided before being sent

41.SmsManager sms = SmsManager.getDefault();

42.List<String> texts = sms.divideMessage(smsContent);

43.for (String text : texts) {

44.sms.sendTextMessage("10010", null, text, null, null);

45.}

46.// note: not checked success or failure yet

47.Toast.makeText(

48.CallAndSms.this,

49."短信已发送",

50.Toast.LENGTH_SHORT ).show();

51.}

52.});

53.

54.Button bt3 = (Button) findViewById(R.id.Button03);

55.bt3.setOnClickListener(new OnClickListener() {

56.@Override

57.public void onClick(View v) {

58.Intent intent = new Intent(

59.Intent.ACTION_DIAL, Uri.parse("tel:10010"));

60.startActivity(intent);

61.}

62.});

63.Button bt4 = (Button) findViewById(R.id.Button04);

64.bt4.setOnClickListener(new OnClickListener() {

65.@Override

66.public void onClick(View v) {

67.Uri uri = Uri.parse("smsto:10010");

68.Intent it = new Intent(Intent.ACTION_SENDTO, uri);

69.it.putExtra("sms_body", "102");

70.startActivity(it);

71.}

72.});

73.}

74. }

主界面ui定义 main.xml 代码:

[xhtml] view plaincopy

1.<?xml version="1.0" encoding="utf-8"?>

2.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

3.android:orientation="vertical" android:layout_width="fill_parent"

4.android:layout_height="fill_parent" android:gravity="center">

5.<TextView android:layout_width="fill_parent"

6.android:layout_height="wrap_content" android:text="Direct Method:"

7.android:gravity="center" />

8.<Button android:text="拨打10010客服电话" android:id="@+id/Button01"

9.android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

10.<Button android:text="短信10010查余额" android:id="@+id/Button02"

11.android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

12.<TextView android:text="InDirect Method:" android:id="@+id/TextView01"

13.android:layout_width="wrap_content" android:layout_height="wrap_content" />

14.<Button android:text="拨打10010客服电话" android:id="@+id/Button03"

15.android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

16.<Button android:text="短信10010查余额" android:id="@+id/Button04"

17.android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

18. </LinearLayout>

用于监听短信到来的Broadcast消息的文件,

ReceiverSMS.java 代码:

[java] view plaincopy

1.package jtapp.callandsms;

2.

3.import android.content.BroadcastReceiver;

4.import android.content.Context;

5.import android.content.Intent;

6.import android.os.Bundle;

7.import android.telephony.SmsMessage;

8.import android.widget.Toast;

9.

10. public class ReceiverSMS extends BroadcastReceiver {

11.

12.@Override

13.public void onReceive(Context context, Intent intent) {

14.if (intent.getAction().equals(

15."android.provider.Telephony.SMS_RECEIVED")) {

16.StringBuilder sb = new StringBuilder();

17.Bundle bundle = intent.getExtras();

18.if (bundle != null) {

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

20.SmsMessage[] msgs = new SmsMessage[pdus.length];

21.for (int i = 0; i < pdus.length; i++) {

22.msgs[i] = SmsMessage

23..createFromPdu((byte[]) pdus[i]);

24.}

25.for (SmsMessage s : msgs) {

26.sb.append("收到来自");

27.sb.append(s.getDisplayOriginatingAddress());

28.sb.append("的SMS, 内容:");

29.sb.append(s.getDisplayMessageBody());

30.}

31.Toast.makeText(

32.context,

33."收到了短消息: " + sb.toString(),

34.Toast.LENGTH_LONG).show();

35.}

36.

37.}

38.}

39. }

AndroidManifest.xml中权限、activity和receiver的设定:

[java] view plaincopy

1.<?xml version="1.0" encoding="utf-8"?>

2.<manifest xmlns:android="http://schemas.android.com/apk/res/android"

3.package="jtapp.callandsms" android:versionCode="1" android:versionName="1.0">

4.<application android:icon="@drawable/icon" android:label="@string/app_name"

5.android:debuggable="true">

6.<activity android:name=".CallAndSms" android:label="@string/app_name">

7.<intent-filter>

8.<action android:name="android.intent.action.MAIN" />

9.<category android:name="android.intent.category.LAUNCHER" />

10.</intent-filter>

11.</activity>

12.<receiver android:name=".ReceiverSMS" android:enabled="true">

13.<intent-filter>

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

15.</intent-filter>

16.</receiver>

17.</application>

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

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

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

21. </manifest>

补充,发Email 代码片段:

[java] view plaincopy

1.//Email

2.Button bt5 = (Button) findViewById(R.id.Button05);

3.bt5.setOnClickListener(new OnClickListener() {

4.@Override

5.public void onClick(View v) {

6.// Setup the recipient in a String array

7.String[] mailto = { "noam@gmail.com" };

8.// Create a new Intent to send messages

9.Intent sendIntent = new Intent(Intent.ACTION_SEND);

10.// Write the body of theEmail

11.String emailBody = "You're password is: ";

12.// Add attributes to the intent

13.//sendIntent.setType("text/plain"); // use this line for testing

14.// in the emulator

15.sendIntent.setType("message/rfc822"); // use this line for testing

16.// on the real phone

17.sendIntent.putExtra(Intent.EXTRA_EMAIL, mailto);

18.sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Your Password");

19.sendIntent.putExtra(Intent.EXTRA_TEXT, emailBody);

20.startActivity(sendIntent);

21.}

22. });

赞助本站

人工智能实验室

相关热词: 调用 打电话 发短信

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港