Intent常见调用系统应用的方法

《》我们知道设定和组合Intent的属性,就能够从当前的应用启动Android智能手机系统中的应用,一些常见的调用方法如下:

       引用自http://www.cnblogs.com/smyhvae/p/3959204.html,向作者表示感谢

1、回到桌面


        Button bt = (Button) findViewById(R.id.button);
        bt.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_MAIN);
                intent.addCategory(Intent.CATEGORY_HOME);
                startActivity(intent);
                }
        });

 

2、打开指定网页

        Button bt = (Button) findViewById(R.id.button);
        bt.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_VIEW);
                Uri data = Uri.parse("http://www.baidu.com");
                intent.setData(data);
                startActivity(intent);
                }
        });

 

3、打电话

【方式一】打开拨打电话的界面:

        Button bt = (Button) findViewById(R.id.button);
        bt.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_DIAL);
                intent.setData(Uri.parse("tel:10086"));
                startActivity(intent);
                }
        });:

【方式二】直接拨打电话:

 

        Button bt = (Button) findViewById(R.id.button);
        bt.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_CALL);
                intent.setData(Uri.parse("tel:10086"));
                startActivity(intent);
                }
        });

要使用这个功能必须在配置文件中加入权限:(加一行代码)

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.penglee.test_intent1"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="17" />
     <uses-permission android:name="android.permission.CALL_PHONE"/>

注意权限元素的位置

 

4、发送短信

【方式一】打开发送短信的界面:action+type

        Button bt = (Button) findViewById(R.id.button);
        bt.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_VIEW);
                intent.setType("vnd.android-dir/mms-sms");
                intent.putExtra("sms_body", "具体短信内容");
                startActivity(intent);
                }
        });

【方式二】打开发短信的界面(同时指定电话号码):action+data

 

1         Intent intent = new Intent(Intent.ACTION_SENDTO);
2         intent.setData(Uri.parse("smsto:18780260012"));
3         intent.putExtra("sms_body", "具体短信内容"); //"sms_body"为固定内容        
4         startActivity(intent);

 

5、播放指定路径音乐:action+data+type

1         Intent intent = new Intent(Intent.ACTION_VIEW);
2         Uri uri = Uri.parse("file:///storage/sdcard0/平凡之路.mp3"); ////路径也可以写成:"/storage/sdcard0/平凡之路.mp3"
3         intent.setDataAndType(uri, "audio/mp3"); //方法:Intent android.content.Intent.setDataAndType(Uri data, String type)
4         startActivity(intent);

6、卸载程序:action+data(例如点击按钮,卸载某个应用程序,根据包名来识别)

 

1         Intent intent = new Intent(Intent.ACTION_DELETE);
2         Uri data = Uri.parse("package:com.example.smyh006intent01");
3         intent.setData(data);
4         startActivity(intent);

 

7、安装程序:action+data+type

 

1         Intent intent = new Intent(Intent.ACTION_VIEW);
2         Uri data = Uri.fromFile(new File("/storage/sdcard0/AndroidTest/smyh006_Intent01.apk"));    //路径不能写成:"file:///storage/sdcard0/···"
3         intent.setDataAndType(data, "application/vnd.android.package-archive");  //Type的字符串为固定内容
4         startActivity(intent);

 

 

 

 

 

 

    

posted @ 2014-10-16 20:54  RoperLee  阅读(209)  评论(0)    收藏  举报