Android AIDL基础——利用AIDL实现客户端向服务端传递Listener接口

文章详细介绍了如何在Android中使用AIDL(AndroidInterfaceDefinitionLanguage)实现Service端与客户端的通信,包括创建AIDL接口文件,生成Java接口实现,以及在Service和Client端的代码实现,重点涉及Listener接口的传递和远程调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        首先我们先写Service端,新建立一个EmptyActivity的工程,点击项目栏右键->新建->AIDL->AIDL File,填入名字后确定,我填的名字是IAudio.aidl。

        打开IAudio.aidl,填入如下代码:

// IAudio.aidl
package com.example.audioservice;
import com.example.audioservice.IAudioCallback;


// Declare any non-default types here with import statements


interface IAudio {
    /**
     * Demonstrates some basic types that you can use as parameters
     * and return values in AIDL.
     */


    void setVolume(int step);
    int getVolume();
    void registerCallback(IAudioCallback callback);
}

        由于我们接手客户端的一个IAudioCallback接口,因此我们还需要创建一个名为IAudioCallback的aidl文件。

// IAudioCallback.aidl
package com.example.audioservice;


// Declare any non-default types here with import statements


interface IAudioCallback {
    /**
     * Demonstrates some basic types that you can use as parameters
     * and return values in AIDL.
     */
     void onEvent(String message);
}

        完后进行build,生成自动生成IAudio.java文件和IAudioCallback.java文件,之后在代码中使用IAudio和IAudioCallback才能编译过。

        创建Service类,我填写的名字是AudioService,键入如下代码:

package com.example.audioservice;


import android.app.Service;
imp
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值