使用PendingIntent
PendingIntent对象是Intent对象的包装器。PendingIntent 的主要目的是授权外部应用使用包含的 Intent,如Notification、Widget、Alarm,就像是它从您应用本身的进程中执行的一样。
待定 Intent 的主要用例包括:
声明用户使用您的通知执行操作时所要执行的 Intent(Android 系统的 NotificationManager 执行 Intent)。
声明用户使用您的 应用小工具执行操作时要执行的 Intent(主屏幕应用执行 Intent)。
声明未来某一特定时间要执行的 Intent(Android 系统的 AlarmManager 执行 Intent)。
由于每个 Intent 对象均设计为由特定类型的应用组件进行处理(Activity、Service 或 BroadcastReceiver),因此还必须基于相同的考虑因素创建 PendingIntent。使用待定 Intent 时,应用不会使用调用(如 startActivity())执行该 Intent。相反,通过调用相应的创建器方法创建 PendingIntent 时,您必须声明所需的组件类型:
PendingIntent.getActivity(),适用于启动 Activity 的 Intent。
PendingIntent.getService(),适用于启动 Service 的 Intent。
PendingIntent.getBroadcast(),适用于启动 BroadcastReceiver 的 Intent。
除非您的应用正在从其他应用中接收待定 Intent,否则上述用于创建 PendingIntent 的方法可能是您所需的唯一 PendingIntent 方法。
每种方法均会提取当前的应用 Context、您要包装的 Intent 以及一个或多个指定应如何使用该 Intent 的标志(例如,是否可以多次使用该 Intent)。
如需了解有关使用待定 Intent 的详细信息,请参阅通知 和应用小工具 API 指南等手册中每个相应用例的相关文档。
PendingIntent对象是Intent对象的包装器。PendingIntent 的主要目的是授权外部应用使用包含的 Intent,如Notification、Widget、Alarm,就像是它从您应用本身的进程中执行的一样。
待定 Intent 的主要用例包括:
声明用户使用您的通知执行操作时所要执行的 Intent(Android 系统的 NotificationManager 执行 Intent)。
声明用户使用您的 应用小工具执行操作时要执行的 Intent(主屏幕应用执行 Intent)。
声明未来某一特定时间要执行的 Intent(Android 系统的 AlarmManager 执行 Intent)。
由于每个 Intent 对象均设计为由特定类型的应用组件进行处理(Activity、Service 或 BroadcastReceiver),因此还必须基于相同的考虑因素创建 PendingIntent。使用待定 Intent 时,应用不会使用调用(如 startActivity())执行该 Intent。相反,通过调用相应的创建器方法创建 PendingIntent 时,您必须声明所需的组件类型:
PendingIntent.getActivity(),适用于启动 Activity 的 Intent。
PendingIntent.getService(),适用于启动 Service 的 Intent。
PendingIntent.getBroadcast(),适用于启动 BroadcastReceiver 的 Intent。
除非您的应用正在从其他应用中接收待定 Intent,否则上述用于创建 PendingIntent 的方法可能是您所需的唯一 PendingIntent 方法。
每种方法均会提取当前的应用 Context、您要包装的 Intent 以及一个或多个指定应如何使用该 Intent 的标志(例如,是否可以多次使用该 Intent)。
如需了解有关使用待定 Intent 的详细信息,请参阅通知 和应用小工具 API 指南等手册中每个相应用例的相关文档。