Android 中 Intent 的使用
2015-08-20 21:42
525 查看
在Android中,Intent的使用场景分为以下2种:
1、开启另一个Activity或者Service
2、注册广播接收者
其中开启另一个Activity 或者Service 又分为开启本应用中的Activity和开启系统应用中的Activity,开启本应用中的Activity或Service其实不用多说,大家也用的很多,值得注意的一点是Intent可以携带很多数据:
有一点小细节就是如果在BroadCastReceiver中启动一个Activity的话,需要设置一个flag
下面列出一些开启系统应用的用法:
安装应用程序
打电话
一下就是注册广播接收者的一些用法了,下面代码都是在清单文件中注册:
拨号广播:
权限:
收到短信广播:
权限:
需要设置意图过滤器优先级
开机广播:
权限:
安装卸载更新应用程序广播:
SD卡状态广播:
上面的一些Intent 可以通过设置意图过滤器来获取一些系统的广播,这样就可以实现一些特殊的需求了。
1、开启另一个Activity或者Service
2、注册广播接收者
其中开启另一个Activity 或者Service 又分为开启本应用中的Activity和开启系统应用中的Activity,开启本应用中的Activity或Service其实不用多说,大家也用的很多,值得注意的一点是Intent可以携带很多数据:
Intent intent = new Intent(); Bundle b = new Bundle(); //里面可以put很多数据 intent.putExtras() intent.setClass(MainActivity.this,OtherActivity.class);
有一点小细节就是如果在BroadCastReceiver中启动一个Activity的话,需要设置一个flag
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
下面列出一些开启系统应用的用法:
安装应用程序
String apkPath = "你的apk文件路径"; Intent intent = new Intent(Intent.ACTION_VIEW); intent.addCategory(Intent.CATEGORY_DEFAULT); intent.setDataAndType(Uri.fromFile(new File(apkPath)), "application/vnd.android.package-archive"); startActivityForResult(intent, 0); //如果用户取消安装的话,会返回结果
打电话
String number = "手机号码"; Intent intent = new Intent(); intent.setData(Uri.parse("tel:"+number)) startActivity(intent);
一下就是注册广播接收者的一些用法了,下面代码都是在清单文件中注册:
拨号广播:
android.intent.action.NEW_OUTGOING_CALL
权限:
android.permission.PROCESS_OUTGOING_CALLS
收到短信广播:
android.provider.Telephony.SMS_RECEIVED
权限:
android.permission.RECEIVE_SMS
需要设置意图过滤器优先级
开机广播:
android.intent.action.BOOT_COMPLETED
权限:
android.permission.RECEIVE_BOOT_COMPLETED
安装卸载更新应用程序广播:
`android.intent.action.PACKAGE_ADDED` 安装 `android.intent.action.PACKAGE_REPLACED` 更新 `andorid.intent.action.PACKAGE_REMOVE` `data-------------scheme="package"`
SD卡状态广播:
android.intent.action.MEDIA_MOUNTED挂载
andorid.intent.action.MEDIA_REMOVED卸载
android.intent.action.MEDIA_UNMOUNTED没挂载
上面的一些Intent 可以通过设置意图过滤器来获取一些系统的广播,这样就可以实现一些特殊的需求了。
相关文章推荐
- Android--Activity的启动模式
- Android-本地启动服务的方法及调用方法的顺序
- Android-自定义发送/接收广播(BroadcastReceiver)
- android 添加视频、图片、录音上传(三)
- android 添加视频、图片、录音上传(二)
- android 添加视频、图片、录音上传(一)
- Android中的缩略图加载-不浪费一点多余的内存
- Android(java)学习笔记184:生成4种模式的文件
- android之BitmapFactory.Options的使用
- Android学习【1】解决android摄像头预览的变形问题
- Android组件之间的信使Intent
- Android-用你自己的自定义图像资源(2)
- android usb解析(一)(and5.1)
- Android 内存泄露检测工具 LeakCanary
- Android性能优化典例(一)
- Android性能优化典例(一)
- Android NDK编译常见错误及解决方案
- Android 按下电源按钮关闭小学习过程的整个长度
- android音乐柱状频谱实现
- android 中resources管理