android 入门 002 (拨打电话,发送短信)

时间:2023-03-08 17:38:49

一、拨打电话

1、首先做好界面,代码如下:

layout =>activity_main.xml 中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/head_lable" /> <EditText
android:id="@+id/txt_number"
android:layout_width="match_parent"
android:layout_height="wrap_content" /> <Button
android:id="@+id/btn_dialer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拨号"
android:layout_gravity="right"
/> </LinearLayout>

效果图如下 :

android 入门 002 (拨打电话,发送短信)

2、下面就点击拨号事件进行操作:

1)点击拨号按钮=》获取拨号的id==>监听拨号事件setOnClickListener的一个新方法。

2)实现这个方法

2.1)获取编辑框的id==>然后获取其值。

2.2)获取值以后就是要实现打电话的意图啊new一个意图。

意图的动作是打电话、获取电话号码。

2.3)把这个意图告诉系统(startActivity(intent);)

3)加入打电话的权限(在AndroidManifest.xml中)。<uses-permission android:name="android.permission.CALL_PHONE"/>

src=>cn.rfvip.dialer0204=>MainActivity.java 中

package cn.rfvip.dialer0204;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//给按钮一个监听事件
Button bt=(Button) findViewById(R.id.btn_dialer);
bt.setOnClickListener(new MyLisen()); //1、首先获取按钮的id==>然后监听 事件==》获取文本的id==>然后获取其值==》意图是打电话(new一个)==》打电话动作、电话号码(加Tel)。
//把意图告诉系统;
//打电话的权限加入 } class MyLisen implements OnClickListener{ @Override
public void onClick(View v) {
// TODO 自动生成的方法存根 EditText eT=(EditText) findViewById(R.id.txt_number);
String phone=eT.getText().toString(); Intent intent=new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+phone));
startActivity(intent);
}} }

二、发送短信

在activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" android:orientation="vertical"
tools:context=".MainActivity" > <EditText
android:id="@+id/ed_sms_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone"
android:hint="短信号码"
/>
<EditText
android:id="@+id/ed_sms_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="短信内容"
android:gravity="top"
android:lines="5"
/>
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="sengsms"
android:onClick="sendsms"
/> </LinearLayout>

在MainActivity.java

package cn.rfvip.sendsms;

import android.os.Bundle;
import android.app.Activity;
import android.telephony.SmsManager;
import android.view.Menu;
import android.view.View;
import android.widget.EditText; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void sendsms(View v) {
EditText ed_sms_phone=(EditText) findViewById(R.id.ed_sms_phone);
EditText ed_sms_content=(EditText) findViewById(R.id.ed_sms_content);
String sms_phone = ed_sms_phone.getText().toString();
String sms_content = ed_sms_content.getText().toString(); SmsManager sm=SmsManager.getDefault();//获取短信管理器

ArrayList<String> smss= sm.divideMessage(sms_content);//分割短信
    for(String string:smss)
   {
   sm.sendTextMessage(sms_phone, null, string, null, null);

}


}

}

记得加入发送短信权限哦    <uses-permission android:name="android.permission.SEND_SMS"/>