java - 无法解析方法;可能的依赖性问题

标签 java android-studio gradle

在过去的两个小时里我一直在试图解决这个问题。我正在使用 MediaBrowsterCompat.ConnectionCallback 并且我想使用 setSupportedMediaController() 和 getSupportedMediaController() 方法,但无论我在 gradle 中导入或实现什么,它们都不会显示。我指的是code from github据我所知,我拥有我需要的一切。还是不行。

有问题的代码:

class MediaConnectionCallback extends MediaBrowserCompat.ConnectionCallback {
    @Override
    public void onConnected() {
        super.onConnected();
        try {
            mMediaControllerCompat = new MediaControllerCompat(MainActivity.this, mMediaBrowserCompat.getSessionToken());
            mMediaControllerCompat.registerCallback(controllerCallback);
            setSupportMediaController(mMediaControllerCompat);
            getSupportMediaController().getTransportControls().playFromMediaId(String.valueOf(R.raw.song), null);

        } catch( RemoteException e ) {

        }
    }
}

我的等级:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.dalcourt.jonathan.testaudio"
        minSdkVersion 26
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
    implementation 'com.android.support:support-v13:28.0.0-rc02'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:support-v4:28.0.0-rc02'
}

他们的等级:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2"

    defaultConfig {
        applicationId "com.tutsplus.backgroundaudio"
        minSdkVersion 16
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

依赖项{ 编译 fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' 编译'com.android.support:appcompat-v7:24.2.1' 编译'com.android.support:support-v13:24.2.1'

}

我将他们的项目导入到 ADS 中,并查看了方法的来源,它是 android.support.v4.app.FragmentActivity。我尝试导入该包的每个版本,但仍然没有用。

最佳答案

正如您在下面的官方链接中看到的,没有 setSupportedMediaController()getSupportedMediaController() MediaBrowserCompat.ConnectionCallback中的方法

https://developer.android.com/reference/android/support/v4/media/MediaBrowserCompat.ConnectionCallback

FragmentActivity.setSupportMediaController() and FragmentActivity.getSupportMediaController() have been removed. Please use the new static MediaControllerCompat.setMediaController() and MediaControllerCompat.getMediaController() methods.

您可以使用以下方法:

MediaControllerCompat.getMediaController(activity)
MediaControllerCompat.setMediaController()

关于java - 无法解析方法;可能的依赖性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52227218/

相关文章:

java - java中的嵌套if语句不读取第二个if语句

android - 为什么在 Android 中只有部分背景颜色发生变化?

java - 具有自定义 ListView 的警报对话框

java - Android Studio 错误运行应用程序 : Unable to obtain debug bridge

javascript - Kotlin/JS,Gradle 插件 : Unable to load '@webpack-cli/serve' command

java - pngcrush 示例代码片段

java - 基于输入字段的微调器

java - Selenium Grid2,如何关闭节点?

java - Gradle 4 Java 11

gradle - 处理gradle任务依赖项