问题标签 [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.
android - 在两个绑定服务中访问远程服务方法
我有两个服务 A 和 B。如果我们想在服务 A 中访问服务 B 的某些方法,我们必须创建一个 ServiceConnection 类,在服务 A 内部,我们必须创建 Stub 并实现这些方法。
但我也想从服务 B 访问服务 A 的方法。为了试用,我创建了另一个辅助连接并实现了 ServiceConnection 它工作正常,这是唯一的方法还是我们可以使用现有的服务连接并通过其他方式实现此功能?
android - 是否可以通过 Android 中的 IPC 传递光标?
如果可以通过 IPC 传递 Cursor 对象,我很有趣,如果有可能如何做到这一点?
java - 如何使内部类 Parcelable
我需要知道如何制作一个内部类 Parcelable 以便其类型的对象可以通过 AIDL 传递给远程服务。我找不到这方面的任何信息。
这是我要完成的示例代码,但它无法编译,因为 Bar 类中的 CREATOR 不能是静态的(即因为它在内部类中)。我不能使 Bar 成为静态内部类,也不能将 Bar 移到 Foo 类之外(系统内的其他依赖项)。我还需要知道如何从 AIDL 文件中引用 Bar 类。任何帮助是极大的赞赏。
android - 仅在 .aidl 文件中使用输出参数的困难
我试图让我的 Android 服务能够将更改发送回活动,所以我试图只使用参数,因为一旦服务启动,活动就没有任何内容。
这是我的 .aidl 文件:
我被困在如何从服务传递数据,以便将其发送到活动。
所以这是在我的服务中,但在 mCallback 中没有任何内容可以让我传入参数,然后将这些参数发送回 Activity。
所以,我不确定如何调用mCallback.dataChanged()
它会传回的位置new double[] { 1.0, 1.1};
。
在活动方面,我想做的是,因为我假设传入的参数是我想要从服务中获得的数据。
我oneway
也使用关键字,因为所有通信都从服务流向活动。
android - 不能跨库项目使用 .aidl 文件?
本着重用代码的精神,我正在尝试创建一些库项目。但是,我似乎遇到了定义跨库的 .aidl 文件的问题。这是问题所在:
在库 AI 中有 Foo.java 和 Foo.aidl。Foo.java 是 Parcelable 所以aidl声明是:
现在我正在尝试创建库 B。在库 BI 中想要定义一个使用类 Foo 的服务接口:
该文件无法编译并抱怨找不到 Foo 的导入。我尝试过引用库 A,并且尝试将库项目添加为外部 jar,但都不起作用。
有我不知道的限制吗?我的项目设置有问题吗?
我可能应该提到我在项目中直接使用库 A 没有问题,所以我相信库 A 不是问题。
android - couldn't find import for class android.database.Cursor in AIDL file
I have created a Service that will play the song in the background. I need the DataBase Cursor from the Service when the song is changed in the service.
I have a function in the Service Which returns the Cursor of the Current Song.
The Problem is in the AIDL interface, when i declare the function in the AIDL interface it eclipse gives the following error.
the aidl file contents are as shown below
Is this is the right way to use non-primitive Datatypes in the AIDL file
android - Android AIDL NoClassDefFoundError
我正在研究 AIDL。我的 .aidl 文件在另一个项目(另一个应用程序)中。假设aidl 文件名为IService.aidl。但是我在分配 1 时在onServiceConnected(ComponentName componentName, IBinder iBinder)方法上收到此错误(如下所示)。IService service = IService.Stub.asInterface((IBinder)iBinder);
可能是什么问题?
2.另外如何访问另一个项目的IService(aidl)?
android - ContentProvider 与使用 AIDL/Messenger
我想开发一个支持插件并为这些插件提供数据的应用程序。在我看来,在 Android 上实现这个插件架构的正确方法是主应用程序一个 apk,每个插件一个 apk。
但是由于主应用程序和每个插件都在不同的 apk 中,我无法轻松地将(数据)对象从一个应用程序传递到另一个应用程序,应用程序在不同的进程中运行,即使它们在一个进程中运行(可以实现)它们有不同的类加载器,这不起作用。目前,我看到两种有前途的方法可以将数据从我的主应用程序获取到我的插件:
- 将主应用程序声明为
ContentProvider
. 在我看来,这似乎是预期的方法,因为它正是我想要实现的:向另一个进程提供内容/数据。 - 使用 -方法制作我的数据对象
Parcelable
并使用AIDL
- 或 - 如果我不需要多线程 - 来推动它们Messenger
。在我看来,这种方法似乎更容易,因为我可以使用关心后台数据库的 ORM 库。我以前从未使用过 ContentProviders,但乍一看,我认为使用 ContentProvider 有点像手动构建 SQL 查询(如果我错了请告诉我),我想避免这项工作!
现在我想知道我是否遗漏了任何优点或缺点,以及这两种方法之间是否存在显着的性能差异。您更喜欢哪种解决方案,为什么要这样做?
提前致谢!任何答复表示赞赏!
java - 在 SDK/库中包含服务
我已经获得了一个编写为独立 APK 的 android 服务,我正在尝试将其包含在 SDK 中,以便它通过 SDK 中的一些公开公开的功能自动安装该服务。
有没有办法做到这一点?
例如,SDK 是具有辅助功能的 monitor.jar。该服务是 GetCurrentMonitor.apk,它运行一个后台服务,返回当前监控的一些股票的价值。
现在,我想发布 SDK,以便当它包含在某些 3rd 方应用程序中时,它会自动为 GetCurrentMonitor 项目安装后台服务......
任何帮助是极大的赞赏。
谢谢,
android - Android:AIDL参数接收null
我得到了一个绑定的活动和服务。
在 ServiceConnection 中调用 onServiceConnected 时,我会执行以下操作:
mController 在哪里:
IInterface1 和 IInterface2 都是 AIDL 文件。
现在的问题。在服务中执行注册。该参数将为空。
我究竟做错了什么?