ren.da0222

博客园 首页 新随笔 联系 订阅 管理
电话拨号器
 
因为应用要使用手机的电话服务,所以要在清单文件AndroidManifest.xml中添加电话服务权限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="cn.itcast.action"
      android:versionCode="1"
      android:versionName="1.0">
      略....
    <uses-sdk android:minSdkVersion=“6" />
    <uses-permission android:name="android.permission.CALL_PHONE"/>
</manifest>
 
 
界面布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <TextView 
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:text="@string/inputmobile"/>
   
    <EditText android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:id="@+id/mobile"/>
   
    <Button android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:text="@string/button"
    android:id="@+id/button"/>
</LinearLayout>
LinearLayout (线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayout(帧布局)
 
 
Activity:
public class DialerAction extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button button = (Button)findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
        EditText editText = (EditText)findViewById(R.id.mobile);
        Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ editText.getText()));
       DialerAction.this.startActivity(intent);
}
        });
    }
}
 
 
测试步骤:
 1>在Eclipse中运行此应用
 2>在Dos窗口中进入android SDK安装路径的tools目录,输入以下命令再开启一个Android模拟器:
  emulator -data itcast 
   注:itcast为用户数据存取文件,如果该文件不存在,默认在tools目录创建该文件
 3>在电话扰号器中输入上图现显的电话号码
 
短信发送器
 
 
因为应用要使用手机的短信服务,所以要在清单文件AndroidManifest.xml中添加短信服务权限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="cn.itcast.sms"
      android:versionCode="1"
      android:versionName="1.0">
     略....
     <uses-sdk android:minSdkVersion=“4" />
    <uses-permission android:name="android.permission.SEND_SMS"/>
</manifest>
 
 
界面布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical“ android:layout_width="fill_parent“ android:layout_height="fill_parent" >
    <TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:text="@string/inputmobile"/>
   
    <EditText android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:id="@+id/mobile"/>
   <TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:text="@string/content"/>
   
    <EditText android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:minLines="3"
    android:id="@+id/content"/>
  
    <Button android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:text="@string/button"
    android:id="@+id/button"/>
</LinearLayout>
 
 
Activity主要代码:
String mobile = mobileView.getText().toString();
String content = contentView.getText().toString();
 SmsManager smsManager = SmsManager.getDefault();
 PendingIntent sentIntent = PendingIntent.getBroadcast(SMSSender.this, 0, new Intent(), 0);
if(content.length()>70){//如果字数超过70,需拆分成多条短信发送
            List<String> msgs = smsManager.divideMessage(content);
          for(String msg : msgs){
    smsManager.sendTextMessage(mobile, null, msg, sentIntent, null);
 //最后二个参数为短信已发送的广播意图,最后一个参数为短信对方已收到短信的广播意图
           }
}else{        
           smsManager.sendTextMessage(mobile, null, content, sentIntent, null);
}
Toast.makeText(SMSSender.this, "短信发送完成", Toast.LENGTH_LONG).show();
 
 
测试步骤:
 1>在Eclipse中运行此应用
 2>在Dos窗口中进入android SDK安装路径的tools目录,输入以下命令再开启一个Android模拟器:
  emulator -data itcast 
   注:itcast为用户数据存取文件,如果该文件不存在,默认在tools目录创建该文件   
  3>在短信发送器的手机号中输入上图现显的电话号码
注:目前Android系统对中文短信尚未支持,所以发送中文短信会有乱码,这个问题日后会被解决的。
posted on 2010-10-13 15:25  胖胖哒  阅读(1265)  评论(1编辑  收藏  举报