Android信使intent学习源码,实现打电话,发短信

【本demo知识要点】
请查看《Android组件之间的信使intent学习源码,启动activity并传值》
通过本demo可以学习到:
启动打电话程序。
启动发短信程序。
【实现步骤】
实例化intent类;
设置intent的action属性;
设置intent的data属性,注意格式;
启动activity
【注意】
实现打电话时,一定要在AndroidManifest.xml里加入<uses-permission android:name="android.permission.CALL_PHONE"/>来获取权限;
实现打发短信时,一定要在AndroidManifest.xml里加入<uses-permission android:name="android.permission.SEND_SMS"/>来获取权限;
<uses-permission />标签加在 <application/>标签外面;

【demo下载】
  Android信使intent学习源码,实现打电话,发短信.zip (49.21 KB, 下载次数: 0, 售价: 1 D币)
7 天前 上传 下载次数: 0
售价: 1 D币 [记录]

【源码预览】
public class MainActivity extends Activity {
    /**
     * @author 中文demo站:Quanke
     * URL [url]http://www.cndemoz.com[/url]
     * 使用intent实现打电话,发短信 
     * 
     * 布局文件不解释,相信你懂得
     * 
     * 注意:如果需要使用到电话、短信、网络等涉及安全相关的信息都必须在AndroidManifest.xml中声明
     * 声明以后当用户在安装软件的时候会提醒
     * 声明方法,例如<uses-permission android:name="android.permission.CALL_PHONE"/>就是获得打电话权限
     * 但是一定要把此元素放置在application外面,请参考次程序的AndroidManifest.xml文件
     **/

        //代表按钮对象的引用
        private Button btnCall,btnSms;
        //复写父类当中的onCreate方法,Activity第一次运行时会调用这个方法
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //为Activity设置布局管理文件
        setContentView(R.layout.main);
        //以下两行代码是根据控件的ID来得到控件对象
        btnCall=(Button)findViewById(R.id.btnCall);
        btnSms=(Button)findViewById(R.id.btnSms);
        //为按钮对象设置监听器对象
        btnCall.setOnClickListener(listenter);
        btnSms.setOnClickListener(listenter);

    }
    //这种设置监听器的方法是谷歌公司推荐用的,不解释
    private OnClickListener listenter = new OnClickListener()
        {

                @Override
                public void onClick(View v)
                {
                        //把View强制类型转换为Button类型
                        Button button = (Button)v;
                        //实例化intent对象,如果想了解更多请查看api
                        Intent intent = new Intent();
                        switch (button.getId())
                        {
                        case R.id.btnCall:
                                //设置intent的action属性,参数可以是自定义的,也可以是系统自带的;
                                //此处为系统自带参数ACTION_CALL,详细说明请查看api,也可以去[url]http://www.cndemoz.com[/url]找找
                                intent.setAction(intent.ACTION_CALL);
                                //设置intent的data属性,注意格式一定要为tel:*******
                                intent.setData(Uri.parse("tel:110"));
                                //启动activity
                                startActivity(intent);
                                break;
                        case R.id.btnSms:
                                //设置intent的action属性,参数可以是自定义的,也可以是系统自带的;
                                //此处为系统自带参数ACTION_SENDTO,详细说明请查看api,也可以去[url]http://www.cndemoz.com[/url]找找
                                intent.setAction(intent.ACTION_SENDTO);
                                //设置intent的data属性,注意格式一定要为sms:*******
                                intent.setData(Uri.parse("sms:110"));
                                //设置发短信的内容
                                intent.putExtra("sms", "welcome...");
                                //启动activity
                                startActivity(intent);
                                break;

                        default:
                                break;
                        }
                }
        };
}

你可能感兴趣的:(android,Activity,demo,intent,AndroidManifest)