`
xinanadu
  • 浏览: 231432 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

跨应用(跨进程)发送广播和接收广播

阅读更多

跨应用发送和接收广播,与同应用下的情况差不多,只需要添加一个权限,以及配置一下receiver的android:process属性即可

 

 

发送广播的应用中:

 

Intent intent = new Intent("info.zhegui.receiver.interprocess");
sendBroadcast(intent);

 注意要在manifest.xml添加接收广播的权限,这个权限是receiver自定义的

 <uses-permission android:name="info.zhegui.receiver.RECEIVE"/>

 

接收广播的应用中:

public class MyReceiver extends BroadcastReceiver {
	private final String TAG = this.getClass().getName();

	@Override
	public void onReceive(Context content, Intent intent) {
		Log.i(TAG, "intent:" + intent);
	}

}

 在manifest.xml中添加自定义权限,以及配置receiver的几个属性

    <permission android:name="info.zhegui.receiver.RECEIVE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <receiver
            android:name="info.zhegui.receiver.MyReceiver"
            android:exported="true"
            android:process=":remote" >
            <intent-filter>
                <action android:name="info.zhegui.receiver.interprocess" />
            </intent-filter>
        </receiver>
    </application>

 

 

需要注意的三个地方:

1,自定义权限

2,android:exported="true"

3,android:process=":remote" (有时候可以不要该属性)

 

动态注册也是可能的。

 

参考文档:

http://developer.android.com/guide/topics/manifest/receiver-element.html

http://developer.android.com/training/articles/security-tips.html

0
4
分享到:
评论
5 楼 wsygyb 2019-02-19  
收不到广播,您有测试过吗????
4 楼 jun117117 2015-04-12  
收不到广播,有能收到广播的例子帮忙分享下吧:jun117117@163.com
3 楼 u012398365 2014-10-13  
查了好多资料都是说这样实现,但就是收不到广播,楼主知道原因不?会不会是android版本问题?
2 楼 vigiles 2014-08-26  
sendOrderedBroadcast(i, null,其它应用接收对象, null, 0, "广播内容", null);
这个该如何实现?
1 楼 woshichenjun 2014-07-09  
收不到广播

相关推荐

    跨进程通信 广播

    在Android系统中,进程间通信(Inter...通过发送和接收广播Intent,应用可以实现简单的通信,而无需直接依赖其他组件。在实际应用中,结合动态和静态注册、数据封装以及权限管理,广播机制能有效地实现多进程间的协作。

    跨进程发送消息数据

    标题中的“跨进程发送消息数据”是指在计算机编程中,特别是在多进程环境下,如何实现一个进程向另一个进程传递信息的技术。这种技术在分布式系统、服务通信或者组件交互中非常重要。Delphi,作为一款强大的对象 ...

    Android应用程序发送广播(sendBroadcast)的过程分析.doc

    同时,掌握广播的发送和接收原理有助于优化应用程序性能,避免阻塞主线程,以及合理设计广播的使用场景。在实际开发中,应遵循最佳实践,如使用有序广播(OrderedBroadcast)来控制接收器的执行顺序,或使用...

    android中跨进程通讯的4种方式

    - 广播接收器允许应用监听系统或自定义广播事件,实现跨进程的消息传递。 - 应用可以注册BroadcastReceiver来监听特定的Intent,无论发送广播的应用是否处于运行状态。 - 使用`sendBroadcast()`、`...

    Android-安卓跨进程跨app通信框架

    在Android系统中,由于安全...通过学习和使用这样的框架,开发者可以快速地在自己的应用中实现高效的跨进程跨应用通信,提高代码的可复用性和系统的稳定性。同时,理解这些通信机制也是提升Android开发能力的关键步骤。

    2011.09.07(3)——— android 跨进程通信之Broadcast

    BroadcastReceiver(广播接收器)允许应用程序在不运行的情况下接收和响应系统或自定义事件,这在多进程环境下的通信中显得尤为重要。 在Android中,Broadcast分为系统广播和自定义广播两种。系统广播是由系统发送...

    广播的动态注册和静态注册,一般广播和有序广播的应用练习

    在Android系统中,广播接收器(BroadcastReceiver)是应用程序组件之一,用于接收并响应系统或应用发布的广播消息。广播分为动态注册和静态注册两种方式,它们各有特点,适用于不同的场景。 1. **动态注册** 动态...

    代码中注册广播接收器

    在Android系统中,广播接收器(BroadcastReceiver)是一种重要的组件,它允许应用程序监听并响应系统或自定义广播事件。当我们说到“代码中注册广播接收器”,这意味着不是在AndroidManifest.xml文件中静态声明广播...

    Android 本地广播示例

    本地广播(Local Broadcast)是广播机制的一个子集,它只限于在应用程序内部通信,不涉及到系统全局的广播接收者。本地广播相比全局广播更加高效,因为它减少了系统的资源消耗。下面将详细介绍Android本地广播的工作...

    android 接收系统启动广播

    动态注册的BroadcastReceiver不会在应用卸载或应用进程被杀死后继续接收到广播。 通过理解并掌握BroadcastReceiver,特别是如何接收系统启动广播,开发者可以更好地控制应用在设备启动时的行为,提高用户体验。当然...

    Broadcast-Service:示例 Android 应用程序。 该片段将一个服务调用到另一个进程中。 然后服务每秒发送一个广播接收器接收到的广播到主进程以更新 UI

    Broadcast-Service是一个Android示例应用,它展示了如何跨进程调用服务,并通过广播接收器将数据传递回主UI进行更新。在这个项目中,我们将深入理解以下几个关键知识点: 1. **服务(Service)**:在Android中,...

    跨进程通讯--访问其他应用程序的ActivityDemo

    通过发送和接收广播,不同应用间可以进行简单信息传递。 总结: 跨进程通讯是Android开发中的重要技能,理解和掌握各种通讯方式对开发具有高度扩展性和灵活性的应用至关重要。无论是通过Intent直接启动其他应用的...

    android 跨应用通讯

    - **BroadcastReceiver**: 广播接收器可以让应用监听全局事件,当服务端发送BroadcastIntent时,客户端可以通过注册的BroadcastReceiver接收到数据。 2. 服务端向客户端回传数据: - **Binder**: 在客户端绑定到...

    android跨进程通信

    - 广播接收器可以监听系统或自定义广播事件,当广播被发送时,接收器会被唤醒执行相应的操作。 - 跨进程通信中,应用可以发送Intent广播,其他应用注册对应的Broadcast Receiver接收并处理。 - 通过`...

    安卓广播学习的demo

    通过实践这些示例,你可以更好地掌握Android广播的用法,包括如何创建、发送和接收广播,以及如何处理广播事件。 此外,参考链接(http://blog.csdn.net/niubitianping/article/details/51925048)提供了详细的解说...

    Android系统中的广播(Broadcast)机制简要介绍和学习计划

    广播通常通过Intent对象来传递信息,Intent不仅可以在同一个应用内部使用,也可以跨应用发送,增加了系统的灵活性和可扩展性。 广播机制在Android中之所以不可或缺,是因为它实现了发送者和接收者的松耦合。发送...

    广播通知页面跳转

    这与第一种情况类似,只是发送广播的源变成了B页面,而接收广播并执行跳转操作的是主页面。BroadcastReceiver会在接收到B页面发出的广播后,启动A页面。 为了实现这个功能,我们需要遵循以下步骤: 1. **定义...

    广播发送1

    4. 最后,通过 `ActivityManagerNative.getDefault().broadcastIntent()` 将广播发送到系统服务,由系统调度广播接收者。 总结来说,这个例子展示了如何利用 `AsyncTask` 在后台执行任务并在完成时发送广播。通过 `...

    安卓--广播机制总结.docx

    广播分为广播发送者和广播接收者两部分,BroadcastReceiver主要指的是广播接收器。广播通信可以应用于多种场景,包括同一应用程序内部组件间的通信、跨进程通信等。 广播机制的核心是观察者模式,采用发布/订阅事件...

Global site tag (gtag.js) - Google Analytics