问题标签 [aidl]

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 投票
1 回答
135 浏览

android - 使用服务 IPC 连接的 CalledFromWrongThreadException

我正在使用此处的教程来开发一个服务,该服务(现在)每秒TimerTask只运行一个。System.out.println("tick")除了一些名称更改之外,我的代码与网站上的代码完全相同。如果我不尝试将字符串从服务传递到活动,一切正常(服务运行,输出“tick”)。

我想要完成的是让主 Activity 中的 TextView 使用从服务接收到的字符串进行更新。我有一个append(String)工作正常的方法,它将用新文本更新 TextView。因此,在我的服务中,TimerTask我添加了listener.handleMessage("tick")并且我的 Activity 实现了侦听器功能:

当我运行应用程序时,System.out显示一个“勾号”,然后显示一个带有 的堆栈跟踪CalledFromWrongThreadException,指向append()作为问题根源的方法。

我知道有一些关于这个例外的问题,但其中大部分是关注ThreadHandler问题;我找不到有关服务的任何信息。有谁知道这是否可能?

解决方案

扩展可运行:

并将回调替换为对全局处理程序的调用:

0 投票
1 回答
604 浏览

java - 在Android中通过IPC传递队列对象

我有实现队列的 X 类。

我想将 X 类的对象传递给 AIDL 接口。当我在 .aidl 文件中导入类 X 时,Eclipse 显示错误并说“找不到类 com.test.X 的导入”。虽然上课在那里。

在 Google 上搜索时,我发现您必须为您希望在服务中使用的每个类创建一个单独的 .aidl 文件。所以,我创建了 X.aidl 但它没有用。任何人都可以提出一些建议吗?

谢谢。

0 投票
1 回答
3731 浏览

android - 是否可以在 AIDL 接口中使用继承?

我想通过 AIDL 与客户端应用程序共享接口。我一直收到编译时错误。代码片段是: -

AIDL 集(都在同一个包中)-->

ChildListener.aidl - 包含上述代码。

Class1.aidl - 将 Class1 声明为 parcelable。Class1 的定义实现了parcelable。

ParentListener.aidl - 声明 ParentListener。

错误 -->

我收到编译时错误(编译服务时)

好像我们不能在 AIDL 接口中使用继承?还是我在这里遗漏了什么。任何指针将不胜感激。

最好的祝福

0 投票
5 回答
26130 浏览

android - AIDL 使用示例

要了解AIDL在 android 中,我想要一个现实生活中的例子,这意味着我们需要在什么开发场景中使用AIDL

通过阅读Android Docs ...它让我感到困惑和很多问题,所以很难为我阅读整个文档,任何人都可以帮助我

  1. 是为了和手机外的交流。

  2. 或与不同的应用程序通信,(为什么我们需要与其他应用程序通信)

  3. 他们在文档中谈论什么样的服务

0 投票
1 回答
366 浏览

android - 在 Eclipse 中调试基于 AIDL 的远程服务

我正在使用 AIDL 构建一个为客户端应用程序提供一些功能的远程服务。我在服务的代码中遇到了一些问题,我想对其进行调试。不幸的是,Eclipse 不会在远程服务的 AIDL 函数内的断点处停止。

如何让 Eclipse 在实现 AIDL 接口存根的服务中停止?

0 投票
2 回答
593 浏览

android - Android 应用内计费 - 未生成 IMarketBillingService.java

我有一个实施应用内计费的项目。它目前在市场上,一切正常。既然我想为更新创建一个新版本,事情就发生了天翻地覆的变化。我已经清理了我的项目,并且ImarketBillingService.java不再生成文件。我尝试过的事情:

  • 刷新、清理、重新导入一百万次

  • 选中/取消选中项目构建器

  • 将 IMarketBillingService.aidl 文件重新添加到我的项目中

  • 为其他 API 级别构建

  • 从我的项目的旧版本添加生成的 java 文件(签名没问题,但是在我在设备上安装 apk 后,应用程序立即崩溃,因为它找不到计费服务所需的文件)

0 投票
1 回答
4962 浏览

android - 同时使用 AIDL 和 Messenger

我尝试写一个关于如何同时使用 AIDL 和 Messenger 的演示,但是我有一个错误,我不知道原因。

MessengerDEMOActivity.java

MessengerDEMOServiceConnection.java

MessengerDEMOService.java

和堆栈跟踪:

没有这些行,代码就可以工作:

它在没有 AIDL 的情况下工作,并且“单独”工作 AIDL。我可以多次调用 onBinder 吗?

0 投票
2 回答
3895 浏览

android - 转换为 Dalvik 格式失败,出现错误 1 ​​- 为什么?

我只添加到一个现有的完全工作的项目中,文件com/android/vending/billing/IMarketBillingService.aidl

(我还没有添加任何其他内容(来自 market_billing 示例),因为我什至还没有尝试使用该服务)

它可以完美地编译和构建,但是当我尝试运行它时,我会在控制台中收到以下信息:

知道为什么会这样吗?

注意:这个添加的.aidl文件不是外部 jar,所以这里的答案对我来说没有帮助。

更新:我删除了那个可疑.aidl文件,清理了项目,但问题并没有消失。诡异的。

更新:我知道!在我将 SDK 从 9 版“升级”到 16 版之前,我刚刚尝试运行一个曾经完美运行的现有项目,并且在那里我也遇到了同样的错误。我知道我应该避免这种“升级”。现在,我不得不浪费时间解决一个在我按计划升级之前不应该出现的问题,而不是在我被迫升级时,因为无法进行有计划和受控的迁移。应用发布延迟...

更新:似乎与错误的自动转换有联系default.propertiesproject.properties但尽管我手动更正了所有转换错误,但问题仍然存在。我现在没有开发环境。这是荒唐的。

0 投票
1 回答
2822 浏览

android - 为什么不能将 .aidl 放入库项目中?

我遇到了这个答案的评论,其中指出图书馆项目:

  1. 不能保存 .aidl 文件,
  2. 不能依赖另一个库项目,
  3. 不能持有资产

嗯,这个评论是大约一年半前提出的,我可以非常肯定地告诉你,第 2 项不再正确(2010 年 9 月?),因为我有一个完美的工作项目,由一个图书馆项目组成依赖于另一个库项目。

所以,我的问题有两个:

  1. 图书馆项目不能保存.aidl文件仍然是真的吗?
  2. 如果#1 的答案是肯定的,那么这是什么原因呢?

顺便说一句,作为一个实验,我尝试将IMarketBillingService.aidl(来自 In-app Billing 示例)放在一个库项目中(还没有任何使用它的东西),并且项目像以前一样构建和运行。所以,如果库项目仍然不可能包含 a .aidl,那么这一定是更深层次的......

0 投票
1 回答
176 浏览

android - 将 PublicKey 对象从服务传递到 Android 中的活动?

我正在尝试将PublicKey对象从服务传递给活动。但是,Aidl似乎不支持该PublicKey类型。关于如何做到这一点的任何想法?