在Android中,Intent的使用场景分为以下2种:

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 可以通过设置意图过滤器来获取一些系统的广播,这样就可以实现一些特殊的需求了。

更多相关文章

  1. Android(安卓)NDK开发配置NDK
  2. Android: 打败system,自己监听Home键
  3. [九鼎RK3399Pro] Android(安卓)8.1默认自动给APP普通权限
  4. Android(安卓)共享文件的 Runtime 权限
  5. android编程语言如何实现一个简单的手机打电话应用程序
  6. Jenkins构建时’Users/Mac/Library/Android/sdk’ does not exis
  7. 关于Android(安卓)intent的知识
  8. 【Android(BLE)】Android(BLE)之蓝牙权限和feature
  9. 浅谈使用tcpdump、wireshark对Android应用程序进行抓包并分析

随机推荐

  1. Android之TextView的Span样式源码剖析
  2. DIY osc android 客户端 之 方法论
  3. Android安全模型之Android安全机制(应用权
  4. Android开发的技术层次
  5. RK3288 android 7.1.2屏蔽开机音频
  6. Android Service的用法
  7. (转载)Android的垃圾回收机制(android ref
  8. Android开发艺术探索 - 第10章 Android的
  9. Android中View和SurfaceView
  10. Windows平板装Android双系统及建立UEFI引