在过去的两个小时里我一直在试图解决这个问题。我正在使用 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
中的方法
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/