10得票5回答
远程服务如何向绑定的活动发送消息?

我已阅读关于绑定服务的文档,其中显示你可以通过消息从一个Activity轻松地与远程(即不在同一上下文中)的服务进行通信。但是,是否有任何方法可以从服务发送消息到绑定的Activity?例如,我的Activity绑定到同一应用程序的正在运行的后台服务,将消息发送给它,接收到这个消息后服务回复给...

16得票2回答
Binder类是什么?在Android绑定服务中,绑定的含义是什么?

我对绑定服务完全感到困惑。我的问题是: 什么是绑定? Binder类是做什么的? "返回可用于与服务交互的IBinder"是什么意思? 什么是IBinder对象? onBind()方法如何工作? 这些都是关于绑定服务的问题。请详细解释一下。我已经阅读了文档,但对我来说仍然不清楚。

18得票1回答
使用ParcelFileDescriptor.createPipe()将InputStream传输到另一个服务(跨进程边界)失败,显示"EBADF (Bad file number)"。

我希望使用ParcelFileDescriptor.createPipe()方法创建一个管道,通过流到流的拷贝线程和表示管道读取端的ParcelFileDescriptor将一个Android Service中的InputStream传送给另一个运行在不同进程中的Service,并通过Bind...

7得票2回答
如何检查两个Android Binder代理对象是否相等?

我有一个关于Android Binder的问题。如果我理解正确,Binder可以在进程之间传递。在服务端,有一个Binder对象(原始对象)。在客户端(另一个进程中),有一个处理AIDL数据编组的BinderProxy对象。 我的问题是-如何检查两个BinderProxy对象是否相等?相等指...

7得票1回答
安卓在华为 Android 8.0.0 上出现 DeadObjectException 错误:Transaction failed on small parcel; remote process probably died。

1804-11 09:43:24.482 22968 22968 E CrashHandler: In thread: Thread[main,5,main] 1904-11 09:43:24.482 22968 22968 E CrashHandler: UncaughtException ...

12得票1回答
如何在私有Github仓库中使用Binder(mybinder.org)?

在查看了这个确切的问题 (https://github.com/jupyterhub/binderhub/issues/237) 后,似乎已经使用这个合并的拉请求 (https://github.com/jupyterhub/binderhub/pull/671) 实现了此功能。 但是,我无...

10得票1回答
使用Binder从本地cpp应用程序在Intent中打包捆绑数据

我正试图从本地cpp代码调用一个意图。基本上,据我所了解,我必须组合一个Parcel,以匹配frameworks/base/core/java/android/app/ActivityManagerNative.java;case BROADCAST_INTENT_TRANSACTION中的确...

7得票1回答
在AOSP中,ServiceManager实现在哪里?

在IServiceManager.cpp文件中,我看到了BnServiceManager::onTransact函数的定义。 在该函数内部,有一个对"addService", "listServices"等的调用。 我找不到这些函数的实现(它们是在IServiceManager下声明的)。...

22得票3回答
安卓 Binder "Transaction" 是什么?

我在单个 APK 中的两个 Android 进程之间发送消息时遇到了“TransactionTooLargeException”异常。每条消息只包含少量数据,比文档规定的 1 MB 总量要小得多 (详见官方文档)。 我创建了一个测试应用程序(代码如下)来研究这种现象,并注意到以下三点: ...

7得票2回答
Android IPC的LocalSocket和Binder(AIDL)有何区别?

我希望每个应用都能向我的服务发送数据。因此,我需要进程间通信。我能找到的每个页面都建议使用Messenger、AIDL或Intents(BroadcastReceiver)。到目前为止,通过构建一些测试应用程序,我发现BroadcastReceiver非常慢,并且在while(true)循环中...