Android-Hacks-35-发射多个Intent

发射多个意图

在android 开发中最有特色之一的系统是Intent。如果你想要分享一些东西给其他的应用程序,你可以使用Intent完成这个任务。如果你想要打开一个链接,也可以用Intent完成。在android中,几乎任何的事情都可以用Intent去完成。

如果你使用过手机的通信app工具,whatsapp,你可能知道你可以分享图片来自 gallery或者拍照 给你的联系人。

拍摄照片
Intent takePhotoIntent = new Intent(
        MediaStore.ACTION_IMAGE_CAPTURE);
Intent chooserIntent = Intent.createChooser(takePhotoIntent,
                        "拍摄照片");
startActivityForResult(chooserIntent, 1);
从gallery中选择一个图片
Intent pickIntent = new Intent(Intent.ACTION_GET_CONTENT);
pickIntent.setType("image/*");
Intent chooserIntent = Intent
            .createChooser(pickIntent, "请选择照片");
startActivityForResult(chooserIntent, 2);

把上面的intent混合

从android api 5依赖,我们可以创建一个 chooser 和 添加更多的intents 。这个意味着代替了只有一种类型的intent,我们可以用几个 intent ,例如下面的:

Intent pickIntent = new Intent(Intent.ACTION_GET_CONTENT);
pickIntent.setType("image/*");

Intent takePhotoIntent = new Intent(
            MediaStore.ACTION_IMAGE_CAPTURE);

Intent chooserIntent = Intent.createChooser(pickIntent, "全部");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,
                new Intent[] { takePhotoIntent });
startActivityForResult(chooserIntent, 0);

创建一个image intent
创建一个拍照 的intent
把 拍照的intent 用putExtra添加到其他意图上。

使用前面的代码将会显示intent的处理效果。但请记住,我们需要在Activity 中重写 onActivityResult()方法,来做一些需要处理图片的事情。

下划线

如果你可能理解intents 是如何工作的,这很重要。这个是android 环境中一个重要的部分。例如,如果你的app 使用一些代码,调用手机中本来有的文件管理器,这会让用户有更友好的体验。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值