android - 扩展一个android服务接口(interface)

标签 android android-source

我正在使用 android 源代码,并想向 AudioManager.java 中实现的 AUDIO_SERVICE 添加一个额外的方法。我已将附加方法添加到 AudioManager 类,现在我要从应用程序中调用它。

我假设在添加方法后我需要创建/更新和 aidl 文件以便应用知道接口(interface)

在应用程序中我想像这样使用它:

mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
mAudioManager.myNewFunction();

任何帮助将不胜感激

最佳答案

你不应该更新安卓源代码。我会做这样的事情:

public class MyAudioManager {
    AudioManager myAudioManager;

    public MyAudioManager(Context context){
        this.myAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
    }

    public void myAudioManagerMethod(){
        //Do your audio manager stuff here
    }

}

然后你可以像这样调用你的方法:

//Assuming you call this from an Activity
MyAudioManager mManager = new MyAudioManager(this); 
mManager.myAudioManagerMethod();

这允许您获取 AudioManager 的实例,并允许您根据需要与其进行交互。

关于android - 扩展一个android服务接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58119568/

相关文章:

android - TableRow 的单个子级不会延伸到 match_parent

android - Espresso 测试单独通过,在套件中运行时失败

android - Android 的 Binder 实现对于不带参数的 "void method"调用始终是非阻塞的吗?

安卓 7.1.2 + ARMv7

linux - 如何使用 Odin 解压、修改、打包和刷写 `system.img.ext4` 文件?

Android UniversalImageLoader 配置

java - Android SDK 管理器附加功能

android - 跟踪 Android 上的电量使用情况

android - Android 中 com.android.internal.telephony.Call 类的 OEM/Google 实现

java - 如何在Android中显示特殊字符?