摘要:注意类别指示此的图标应放入系统的应用启动器。如果元素未使用指定图标,则系统将使用元素中的图标使用方法对象是对象的包装器。主要应用于以下场景通知应用小部件定时任务使用注意事项适用于启动的。
极力推荐文章:欢迎收藏
Android 干货分享
Intent 是一个消息传递对象,主要用于组建之间的通讯,例如:启动Activity、启动Service、传递Broadcast等
本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:
Intent 流程图 1. Intent 主要用途 1. 启动ActivityIntent 主要用途、流程图
Intent 分类
隐式 Intent 接收过滤类型
PendingIntent 使用方法
Intent 7 大常用属性
使用ADB调试 Intent
Intent 常用方法使用总结
startActivity()
无返回值,直接启动Activity
startActivityForResult()
有返回值,返回值在onActivityResult() 回调
startService()
一次性操作
bindService()
绑定组件,随组件生命周期结束而结束
3. 传递 BroadcastsendBroadcast()
普通无序广播
sendOrderedBroadcast()
有序广播
sendStickyBroadcast()
持续黏性广播
2. Intent 分类 1.显示 Intent按名称(完全限定类名)指定要启动的组件。
例如:
Intent intentActivity = new Intent(MainActivity.this, ActivityMethods.class); startActivity(intentActivity);2.隐式 Intent
不会指定特定的组件,而是声明要执行的常规操作,从而允许其他应用中的组件来处理它
例如:
/** * 发送短信 * **/ public static void SendMms(Context context, String mmsString) { Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, mmsString); sendIntent.setType("text/plain"); // sendIntent.setData(Uri.parse("smsto:")); // This ensures only SMS apps respond // 修改 Intnent 选择器Tittle String title = context.getResources().getString(R.string.hello_world); Intent chooser = Intent.createChooser(sendIntent, title); // 验证是否有Activity 接收 if (sendIntent.resolveActivity(context.getPackageManager()) != null) { context.startActivity(chooser); } }3. 隐式Intent 接收过滤类型
应用可以接收哪些隐式 Intent,请在清单文件中使用
在 name 属性中,声明接受的 Intent 操作。该值必须是操作的文本字符串值,而不是类常量。
例如:
java 代码中启动的Intent的Action
Intent sendIntent = new Intent("String_action");
Androidmanfest.xml 中过滤标签如下:
使用一个或多个指定数据 URI 各个方面(scheme、host、port、path 等)和 MIME 类型的属性,声明接受的数据类型。
在 name 属性中,声明接受的 Intent 类别。该值必须是操作的文本字符串值,而不是类常量。
例如:
禁止其他应用通过Intent 掉起自己组件android:exported="false"
应用主要入口点Action
以下两个元素必须配对使用,Activity 才会显示在应用启动器中。
注意: CATEGORY_LAUNCHER 类别指示此 Activity 的图标应放入系统的应用启动器。 如果
PendingIntent 对象是 Intent 对象的包装器。PendingIntent 的主要目的是授权外部应用使用包含的 Intent,就像是它从您应用本身的进程中执行的一样。
主要应用于以下场景
通知
NotificationManager
应用小部件
AppWidget
定时任务
AlarmManager
PendingIntent 使用注意事项:1.PendingIntent.getActivity()
适用于启动 Activity 的 Intent。
2.PendingIntent.getService()
适用于启动 Service 的 Intent。
3.PendingIntent.getBroadcast()
适用于启动 BroadcastReceiver 的 Intent。
5. Intent 7 大属性1 . Component Name(目标组件的全类、组件名称)
setComponent(),
getComponent(),
setClass() ,
setClassName()
2 . Action (intent 将执行的动作)
setAction()
`getAction()
`
3 . Data (用于向Action 属性提供操作数据)
URI对象scheme://host:port/path (协议头,主机,端口,路径)
4 . Type 分类
指定Data所指定的Uri对应的MIME类型,不指定会根据数据自动推导
5 . Category 类别
为Action 提供额外的附件类别信息,可以有多个Category,但必须有一个default。
6 . Extra 数据载体
通过键值对进行数据存储,用于多个Action之间提供数据交换.
7 . Flags 标记
标记组件如何启动,以及启动后如何对待 FALG_ACTIVITY_SINGLE_TOP
FALG_ACTIVITY_CLEAR_TOP等等)
语法
adb shell am start -a-t -d -e -n
eg :
adb shell am start -a android.intent.action.DIAL -d tel:555-5555 -n org.example.MyApp/.MyActivity7.Intent 常用方法使用总结
由于总结内容较多,已经另开文章讲述。
Intent 常用方法使用总结
至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/75830.html
摘要:极力推荐文章欢迎收藏干货分享阅读五分钟,每日十点,和您一起终身学习,这里是程序员本篇文章主要介绍开发中的部分知识点,通过阅读本篇文章,您将收获以下内容生命周期简介必须在中注册启动的方法启动带返回值的结束方法状态保存,恢复的方法面 showImg(https://upload-images.jianshu.io/upload_images/5851256-0b56fc8e812963d7...
摘要:只能执行单一操作,无法返回结果给调用方,常用于网络下载上传文件,播放音乐等。绑定模式此模式通过绑定组件等调用启动此服务随绑定组件的消亡而解除绑定。 showImg(https://segmentfault.com/img/remote/1460000019975019?w=157&h=54); 极力推荐文章:欢迎收藏Android 干货分享 showImg(https://segme...
摘要:,表明执行操作的字符串。,这个属性可以指示系统如何启动一个,以及启动之后如何处理。是一个字符串,例如这里的的构造函数传入了两个参数,和组件名,调用了方法后,会在当前的应用中启动这个服务。 1. 前言 在Android中有四大组件,这些组件中有三个组件与Intent相关,可见Intent在Android整个生态中的地位高度。Intent是信息的载体,用它可以去请求组件做相应...
阅读 1888·2021-11-25 09:43
阅读 3180·2021-11-15 11:38
阅读 2722·2019-08-30 13:04
阅读 497·2019-08-29 11:07
阅读 1509·2019-08-26 18:37
阅读 2748·2019-08-26 14:07
阅读 597·2019-08-26 13:52
阅读 2294·2019-08-26 12:09