基础

Intent的常见应用

打电话

负责向XXX直接打电话(不用按确认),需要权限:<uses-permission android:name=”android.permission.CALL_PHONE”/>

        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_CALL);
        intent.setData(Uri.parse("tel:110"));
        startActivity(intent);

打开拨号面板

和上面的不同是还要确认,也需要权限

        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_DIAL);
        intent.setData(Uri.parse("tel:110"));
        startActivity(intent);

调用发送短信

可以直接调用发送短信的程序,但是没有指定短信的接受者,只是指定了短信的内容

        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.putExtra("sms_body", "你好啊");
        intent.setType("vnd.android-dir/mms-sms");
        startActivity(intent);

带有目标的发送短信

这个可以直接指定发送更多目的地,但是发送短信还要确认

        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_SENDTO);
        intent.putExtra("sms_body", "你好啊");
        intent.setData(Uri.parse("smsto:110"));
        startActivity(intent);

发送彩信

没有指定联系人

        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_SEND);
        intent.putExtra("sms_body", "目标图片");
        intent.setType("image/png");
        intent.putExtra(Intent.EXTRA_STREAM,Uri.parse("content://media/external/images/media/23"));
        startActivity(intent);

打开指定网址

        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.setData(Uri.parse("http://haotianyi.win/"));
        startActivity(intent);

卸载应用

但是会弹出提示,选择是否确认卸载:

        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_DELETE);
        intent.setData(Uri.parse("package:win.haotinayi.animator"));
        startActivity(intent);

安装某个应用

        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.setDataAndType(Uri.parse("file://mnt/sdcard/download/a.apk"),"application/vnd.android.package-archive");
        startActivity(intent);

注意这里路径的获得在6.0模拟器中可以直接看到绝对目录:

但是在4.1的模拟器还要看属性(都差不多):

发表评论

电子邮件地址不会被公开。