问题标签 [android-binder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
23359 浏览

android - Android 活页夹示例

我正在寻找 C/C++ 中的简单活页夹 IPC 示例。最近我开始阅读有关 Android Binder 基本知识(http://bharathi.posterous.com/android-binder)的内容,并且还阅读了 Android 源代码中的代码。大多数活页夹的使用部分是在 C++ 中。有人可以解释为什么使用 C++ 而不是 C 吗?

0 投票
1 回答
1961 浏览

android - 本机代码中的 Android 活页夹

我创建了实现 Binder 接口(服务)的类。我能够从客户端向它发送数据。

如果我想将异步响应发送回客户端,是否还需要在客户端实现 Binder 接口?

0 投票
2 回答
10968 浏览

java - Binder事务在android中失败

可能重复:
返回相机图像时失败的 Binder 事务

android堆栈中绑定事务失败的可能性有多大?我有一个通过不同活动切换的应用程序,但是每个活动之间交换的数据大小非常小(小于 20 字节),其中不包括图像。在某些情况下,系统会因内存不足而崩溃,而在其他情况下,应用程序会终止。

请帮忙......我真的很麻烦......

0 投票
7 回答
83013 浏览

android - Android 操作系统中可用的 IPC 机制有哪些?

谁能告诉我Android中存在的所有IPC机制是什么。

据我所知是:

  1. 意图
  2. 粘合剂
0 投票
2 回答
27595 浏览

android - Android 本地服务示例、bindservice() 和 ServiceConnection()

我有一个问题与大约一年前@mnish 提出的这个问题有关。

请看看他的问题和代码。他实现了一个ServiceConnection() 并将它传递给bindService()。这遵循顶部附近服务文档中的本地服务示例。

我想实现本地服务示例,所以我试图从@mnish 问题/答案中添加一些细节。在 ServiceConnection() @mnish 中有这行让我感到困惑:

我知道@mnish 写了这段代码,但是有人知道 ILocService 是什么,知道如何创建自己的 ILocService 吗?这个构造记录在哪里,我需要它吗?IBinder iservice 的价值又从何而来?

0 投票
1 回答
2713 浏览

android - 安卓活页夹驱动

我正在尝试阅读 Android 源代码以了解 binder,但我无法找到 Android 系统架构中描述的 binder 驱动程序部分。知道绑定代码在 Android 源代码中的位置吗?

0 投票
3 回答
1958 浏览

android - bindService 来自其他应用程序但相同的用户 ID/进程

这是关于基于内存的 IPC(如LocalService示例),但对于在同一进程中运行的两个应用程序:

我有两个应用程序 ( App1, App2) 和一个共享项目 ( Shared),它为这两个应用程序定义了一些接口和抽象类:

两个应用程序在同一进程中运行(my.process定义在 中<application>), App2发布com.www.app2.myService

这是摘要myAbstractServicemyService尚未添加任何新内容):

当我尝试从我的(App1)绑定到myService(App2) 时:MainActivity

我得到一个例外:

调试/MS(5464):com.www.shared.myBinder 类
错误/AndroidRuntime(5464):java.lang.ClassCastException:com.www.shared.myBinder

由于两个应用程序在同一个进程中运行,内存耦合通信应该可以工作(至少我认为)。我真的不想使用基于消息或基于广播的通信,因为我会发送相当多的消息。
我怀疑这个异常是由于同一个类使用了两个不同的类加载器而发生的?这种方法根本不可能/错误,还是我错过了什么?

更新:
我的目标是编写一个非常模块化的应用程序,其中 App1 用作其他模块(应用程序)的委托和启动应用程序。因为我不想App1随每个应用程序一起发布,所以我把它做成了自己的应用程序。

假设我有第三个应用程序(App3,Android 项目)。App2 和 App3 都由 App1 启动(负责建立连接,而 App2 和 App3 提供不同的应用程序逻辑(但具有相同的接口)。

再想一想,我认为这也可以通过 android 库来解决(App1 和 Shared 合并为库App2App3启动该库的 Activity 并等待结果)?然而,数据是不可打包的(网络连接),我不知道这个库如何在 android 市场上独立分布(就像App2App3在那里发布但要求也安装该库)。这会完全解决这个问题吗?

0 投票
2 回答
4901 浏览

android - Android活页夹安全

Android中Binder提供的进程间通信是否可以防止中间人攻击?是否有任何文档提供此信息?

0 投票
5 回答
4033 浏览

android - Activity 关闭并重新打开时避免服务回调

我有一个 LocalService,它使用一些 API 公开一个 Binder。我创建了一个服务监听器,就像这样:

在调用BinderindataServiceListener公开的方法后,我在方法中得到响应dataServiceListener onResult()。到目前为止,没有任何问题,一切正常。当我关闭等待服务侦听器回调的 Activity 并立即重新打开它时,会出现某种问题。即使我重新实例化dataServiceListenerin onCreate(),我得到两个回调而不是一个,旧的来自被破坏的 Activity 和后者(右)一个;这样,结果就会在 UI 上混淆。有没有办法告诉服务或服务侦听器,当活动完成时,必须避免回调。或者甚至可能销毁 ServiceListener 对象。

我认为这是 Mark L. Murphy (Commonsware) 在“The Busy Coder's Guide to Android Development”中描述的问题:

最大的收获是确保活动完成后收回侦听器。

我怎样才能做到这一点?活动结束时有没有办法摆脱无用的听众?

谢谢!

0 投票
1 回答
500 浏览

android - 未能通过活动之间包含大量 Itens 的列表

我有这个代码:

Intent intent = new Intent(currentActivity, nextActivity);
Bundle bundle = new Bundle(); bundle.putSerializable(nameParameter, serializable);

我的可序列化是一个带有一堆元素的 ArrayList。当我使用 startActivity 方法时。发生失败的 Binder 事务。我该如何解决这个问题?