当我们可以使用java接口帮助客户端应用程序调用绑定服务时,使用AIDL的优点是什么?
例如,对于ITestService,我们应该如下所示创建一个AIDL:
// ITestService.aidl
package com.varanegar.vaslibrary.service;
// Declare any non-default types here with import statements
interface ITestService {
/**
* Demonstrates some basic types that you can use as para
我正在尝试使用AIDL在Android上创建一个远程IPC服务。我找到了一些文档,解释了如何在Eclipse中创建这样的服务,但没有一个文档解释了InteliJ IDEA的创建过程。
我注意到IntelliJ在文件>新建>安卓组件>远程接口中有这个功能,我用它创建了一个名为IRemoteService.aidl的文件,内容如下:
package MyApp.Android.RemoteServices;
/**
* Created with IntelliJ IDEA.
* Máxima Sistemas de Informática S.A.
* User: regi
运行时异常:
System.err:java.lang.RuntimeException:存根!在com.google.android.things.pio.PeripheralManager.getInstance(PeripheralManager.java:21) at com.afollestad.remotedemo.RemoteService$1.testPeripheralManager(RemoteService.java:33) at com.afollestad.remotedemo.IRemoteAIDL$Stub.onTransact(IRemoteAIDL.java
我需要通过AIDL将一个Intent对象传递给远程服务,我尝试了:
在aidl文件中:
import android.content.Intent;
parcelable Intent
void passIntent(Intent intent);
在我的远程序列化类中:
private final IMyService.Stub mBinder = new IMyService.Stub() {
//ERROR: The method must override or implement a supertype method
@Override
public void pass
理想情况下,我希望发送一个类型为
ArrayList<ArrayList<ASimpleClass>>
从一个APK中的远程服务到另一个APK中的应用程序。我甚至不确定这是否可能,因为API演示代码表明它不可能:
/**
* This demonstrates the basic types that you can use as parameters
* and return values in AIDL.
*/
void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat,