我有一个项目一直在使用 Camera2VideoJava 。我正在升级到API 29 (AndroidX),但是现在Camera2VideoFragment.java file收到了以下错误:
无法解析符号“ v13”
此行:
import android.support.v13.app.FragmentCompat;
无法解析符号“ FragmentCompat”
此行:
implements View.OnClickListener, FragmentCompat.OnRequestPermissionsResultCallback, MediaRecorder.OnInfoListener {
问题是android.support.v13
不再导入到我的项目中,因为AndroidX已处理它。随着API 29和AndroidX的更新,通常,导入会由Android Studio在更改时自动建议。
最初预期的解决方案:
导入(import android.support.v13.app.FragmentCompat;
)通常会更改为import androidx.core.app.FragmentCompat;
或androidx.legacy.app.FragmentCompat
(如建议的here),这将解决上述两个错误。但是,都不存在任何导入。
潜在的解决方案?
我认为不建议/不建议导入,因为建议使用FragmentCompact was deprecated,现在建议使用Fragment,因此我唯一的想法是使用Fragment而不是FragmentCompact,但这会带来其他问题与:
if (FragmentCompat.shouldShowRequestPermissionRationale(this, permission)) {
FragmentCompat.requestPermissions(this, VIDEO_PERMISSIONS, REQUEST_VIDEO_PERMISSIONS);
FragmentCompat.requestPermissions(parent, VIDEO_PERMISSIONS,REQUEST_VIDEO_PERMISSIONS);
因为Fragment
没有这些方法。因此,我将不得不替换/重写那些功能,这可能有效吗?但我不是在问我是否出于无缘无故走了很长一段路。
其他:
在更新为API 29时,是否有更好的解决方案来解决Camera2VideoJava的FragmentCompat
问题?