Intent 用法总结

intent 目的 意图。可以来启动activity,启动service,发送Broadcast。

显示意图
常用来启动本应用内的活动或者服务

startActivity(new Intent(main.this,intent.class));//启动活动
startService(new Intent(main.this,intent.class));//启动服务

隐式意图
常用来启动其他应用

在AndroidManifest.xml配置要启动的活动

<activity android:name=".SecondActivity" >
    <intent-filter>
        <action android:name="com.example.activitytest.ACTION_START" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

在 标 签 中 我 们 指 明 了 当 前 活 动 可 以 响 应 com.example.activitytest.ACTION_START 这个 action,而标签则包含了一些附加信息,更精确地指明了当前的活动能够响应的 Intent 中还可能带有的 category。只有和中的内容同时能够匹配上 Intent 中定的 action 和 category 时,这个活动才能响应该 Intent。
new一个Intent来启动活动

Intent intent = new Intent("com.example.activitytest.ACTION_START");
intent.addCategory("com.example.activitytest.MY_CATEGORY");//可以通过这种方式来增加Category属性
startActivity(intent);

category是默认的所以不用去设置

发送广播
Intent intent = new Intent( “cn.lenovo.yangguangf ” );
sendBroadcast(intent);
sendOrderedBroadcast(intent, receiverPermission);//有序广播,不太懂receiverPermission的作用…
在过程中传输数据

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));//通过setData来插入数据

//通过Intent来安装应用
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setDataAndType(Uri.fromFile(resultl),"application/vnd.android.package-archive");//还有类型 需要看下它的源码。
startActivity(intent);
startActivityForResult(intent, 0);// 如果用户取消安装的话,返回的动作。要在当前活动建一个方法

//在activtiy中写一个方法。处理返回的事件
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        enterHome();
        super.onActivityResult(requestCode, resultCode, data);
    }

与此对应,我们还可以在标签中再配置一个标签,用于更精确地指
定当前活动能够响应什么类型的数据。标签中主要可以配置以下内容。
android:scheme
用于指定数据的协议部分,如上例中的 http 或者file部分。

PendingIntent
专门来响应“通知”的点击事件。

Intent intent = new Intent(this, NotificationActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);//第四个参数是关于是与点击后的。此参数是点击后取消
notification.setLatestEventInfo(this, "This is content title","This is content text", pi);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值