获得弃用警告androidx.fragment.app.Fragment:
警告:[deprecation]
getFragmentManager()inFragment已被弃用。
该怎么办?
android android-fragments fragmentmanager deprecation-warning androidx
我正在尝试在音频 Android 应用程序中使用 MediaStyle 通知,如音频应用程序文档和媒体样式文档中所述。我能够成功地显示具有功能传输控制的通知,因此我相信我的实施是合理的。但是,当我按照建议设置androidx.media.app.NotificationCompat.MediaStylevia时,它似乎忽略了该标志的任何使用。根据源代码确保“通知不能被忽略”。当没有设置媒体样式时,我会遇到所描述的行为,但当我使用..setStyle()NotificationCompat.Builder.setOngoing()setOngoing.setStyle()
我想知道是否有人知道解决方法,或者是否有一些未记录的要求,我需要安抚以使用.setOngoing()媒体样式通知。我的编译 SDK 版本、目标 SDK 版本和最小 SDK 版本都是 30。如果有任何其他代码有用,请告诉我;我相信我正在提供相关的内容。
为了说明这种困境,我提供了一些屏幕截图,显示了应用媒体样式时通知如何可消除,而未应用媒体样式时通知如何不可消除。
依赖项(全部是最新的):
val appCompatVersion: String = "1.4.0-alpha01"
val mediaVersion: String = "1.4.0-alpha01"
val media2Version: String = "1.0.0-alpha04"
implementation("androidx.appcompat:appcompat:$appCompatVersion")
implementation("androidx.media:media:$mediaVersion")
implementation("androidx.media2:media2:$media2Version")
Run Code Online (Sandbox Code Playgroud)
private val notification: Notification?
get() {
val controller: MediaControllerCompat = mediaSession.controller ?: return null
val description: MediaDescriptionCompat = controller.metadata?.description ?: return null
val notificationManager: NotificationManager = notificationManager ?: return null
val notificationChannel …Run Code Online (Sandbox Code Playgroud) android android-notifications kotlin androidx android-notification.mediastyle
使用以下设置运行Android Studio 3.2 gradle.properties:
android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)
我有一个带有一些C/Java代码的本机项目.使用这些设置,编译失败,并显示以下错误消息:
org.gradle.api.artifacts.transform.ArtifactTransformException:无法使用transform JetifyTransform将文件'android.jar'转换为匹配属性{artifactType = processed-jar}
java.lang.RuntimeException:无法转换'C:\ Android\sdk\platforms\android-28\android.jar'使用Jetifier.
我相信它不喜欢我的gradle文件:
apply plugin: 'java'
...
dependencies {
implementation files("${mySdkDir}/android.jar")
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以全局关闭enableJetifier,这确实会使这个错误消失.但是,我只想禁用此特定模块/依赖项的jetifier.
如何设置enableJetifier=false本机/ java模块项目?
我已成功将项目迁移到AndroidX.应用程序运行正常,但我收到编译时错误,因为我的依赖项使用支持包.
因为PhotoView是一个依赖类,它使用的android.support.v7.widget.AppCompatImageView是我的项目中不再可用的.因为它现在androidx.appcompat.widget.AppCompatImageView
是的,android.enableJetifier将此依赖项转换AndroidX为运行时,但我想摆脱编译时错误.
现在有快速解决方案吗?
我将Android Studio升级到3.2,现在我想使用from Redactor- > 自动迁移到AndroidX Migrate to AndroidX,现在它出现了这个错误:
Android依赖项'androidx.media:media'具有不同版本的编译(1.0.0-rc01)和运行时(1.0.0)类路径.您应该通过DependencyResolution手动设置相同的版本
我将构建和目标版本更新为28(Pie),并替换了相关的依赖项。现在我的项目说在上找不到符号AppCompatActivity。我试图
但是结果是一样的。而且,当我在活动类中的extends关键字之后尝试Ctrl+时Space,没有任何"AppCompatActivity建议。我试图调查它是否存在于libraries文件夹中,是否存在于文件夹中。
现在,我应该怎么做才能使其正常工作?如果库有任何变化/替代,androidx请告诉我。这是我的完整build.gradle文件
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.invogen.messagingapp"
minSdkVersion 16
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(dir: 'libs', include: ['*.jar'])
// implementation 'com.android.support:appcompat-v7:28.0.0'
// implementation 'com.android.support.constraint:constraint-layout:1.1.3'
// implementation 'com.android.support:design:28.0.0'
// implementation 'com.android.support:support-v4:28.0.0'
// Libs for newer …Run Code Online (Sandbox Code Playgroud) 我正在登录屏幕上工作,我想在其中使用以下视图实现材料编辑文本:
以下是我的代码:
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
style="@style/ThemeOverlay.MaterialComponents.TextInputEditText.OutlinedBox"
android:layout_height="wrap_content">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="This is Hint"/>
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
但是 OutlinedBox 没有出现。这是它的外观:
请帮忙。
android android-edittext material-design android-textinputlayout androidx
每次我的应用程序崩溃,因为它无法在类路径中找到Landroidx/constraintlayout/widget/R $ styleable.我试图重建,使缓存无效,但它总是在运行时给我相同的错误.
我尝试了1.1.2和1.1.3两个版本.而且有趣的是:当使用1.1.3时,androidX Jetifier只是强制使用1.1.2,你可以从gradle报告中看到
Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
at android.view.LayoutInflater.createView(LayoutInflater.java:651)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
at android.view.LayoutInflater.inflate(LayoutInflater.java:496)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:141)
at com.github.sharetaxi.LoginActivity.onCreate(LoginActivity.kt:24)
at android.app.Activity.performCreate(Activity.java:7050)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2809)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2931)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1620)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:6701)
at …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,我想要一个透明的工具栏 (AppBarLayout),但仍然可以看到导航图标按钮。不幸的是,我能做到的最好的是透明的工具栏,它仍然会降低阴影(高程)。
我有一个全屏对话框片段,请参阅样式:
<style name="FullScreenImageStyle" parent="AppTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowEnterAnimation">@anim/slide_up</item>
<item name="android:windowExitAnimation">@anim/slide_down</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="windowActionBarOverlay">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)
片段的布局如下所示(这里只是开头):
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</com.google.android.material.appbar.AppBarLayout>
Run Code Online (Sandbox Code Playgroud)
稍后在初始化对话框片段时,我设置了全屏样式和导航图标的资源 ID。
任何想法如何解决这个问题,请?
一切正常'androidx.biometric:biometric:1.0.0-alpha03',但是当我使用最新版本构建项目'androidx.biometric:biometric:1.0.0-alpha04'并调用myBiometricPrompt.authenticate(promptInfo)它时,会引发此异常:FragmentManager is already executing transactions。
这是堆栈跟踪:
java.lang.IllegalStateException: FragmentManager is already executing transactions
at androidx.fragment.app.FragmentManagerImpl.ensureExecReady(FragmentManager.java:2207)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2267)
at androidx.fragment.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:814)
at androidx.biometric.BiometricPrompt.authenticateInternal(BiometricPrompt.java:525)
at androidx.biometric.BiometricPrompt.authenticate(BiometricPrompt.java:465)
at com.my.app.ui.LoginFragment.handleTouchIdAuth(LoginFragment.kt:161)
at com.my.app.ui.LoginFragment.onViewCreated(LoginFragment.kt:62)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1471)
at androidx.fragment.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2646)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2416)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2372)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3273)
at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2466)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1483)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:620)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1391)
at android.app.Activity.performStart(Activity.java:7157)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2937)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) …Run Code Online (Sandbox Code Playgroud)