小编iCl*_*ude的帖子

Hilt (Android): 找不到符号 return DaggerApp_HiltComponents_ApplicationC.builder()

我试图用 DI 的 Hilt(坏主意)替换 Koin,现在我遇到了这个错误:Hilt_App.java:21: 错误:找不到符号返回 DaggerApp_HiltComponents_ApplicationC.builder() ^ 符号:变量 DaggerApp_HiltComponents_ApplicationC

它是什么?如何解决?

android dependency-injection koin

15
推荐指数
3
解决办法
3965
查看次数

Leak Canary 使用 ViewPager2 检测 TabLayout 的内存泄漏

我按照官方文档设置了一个带有 ViewPager2 的 TabLayout。我以这种方式使用 TabLayoutMediator 将 TabLayout 与 ViewPager2 连接起来:

TabLayoutMediator(binding.tabLayout, binding.viewPager) { tab, position ->
        tab.setIcon(getTabIcon(position))
        tab.text = getTabTitle(position)
    }.attach()
Run Code Online (Sandbox Code Playgroud)

但是 Leak Canary 检测到似乎与 TabLayout 和 TabLayoutMediator 相关的内存泄漏。日志如下:

2020-05-13 17:57:32.914 D/LeakCanary: ????
2020-05-13 17:57:32.914 D/LeakCanary: ? GC Root: Local variable in native code
2020-05-13 17:57:32.914 D/LeakCanary: ?
2020-05-13 17:57:32.914 D/LeakCanary: ?? android.net.ConnectivityThread instance
2020-05-13 17:57:32.914 D/LeakCanary: ?    Leaking: NO (PathClassLoader? is not leaking)
2020-05-13 17:57:32.914 D/LeakCanary: ?    Thread name: 'ConnectivityThread'
2020-05-13 17:57:32.914 D/LeakCanary: ?    ? ConnectivityThread.contextClassLoader
2020-05-13 17:57:32.914 D/LeakCanary: …
Run Code Online (Sandbox Code Playgroud)

android memory-leaks leakcanary android-tablayout

10
推荐指数
3
解决办法
2467
查看次数

AppCompatActivity 中的 Android Activity Results API 未解析引用

我正在尝试使用新的 Activity Results API 来替换 startActivityForResult。如果我在 Fragment 中调用 registerForActivityResult 一切正常。但是,如果我在 AppCompatActivity 中调用相同的方法,IDE 会显示“未解析的引用”错误。无论如何,应用程序构建时没有错误并按预期运行。如何删除 IDE 中的“未解析引用”错误?

我使用: import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity

依赖项:“androidx.activity:activity-ktx:${versions.activity_ktx}”“androidx.fragment:fragment-ktx:${versions.fragment_ktx}”

android onactivityresult

6
推荐指数
1
解决办法
2067
查看次数

Android WorkManager setForegroundInfo

我按照官方指南使用 WorkManager(Kotlin 版本)设置了一个长时间运行的工作线程。现在我需要用操作进度更新通知。文档说:

// 当需要更新 // 正在进行的通知时定期调用 setForegroundInfo()

但是我找不到任何 setForegroundInfo() 方法。那么如何更新正在进行的通知呢?

android android-workmanager

5
推荐指数
1
解决办法
2320
查看次数

Android API 31 - WorkManager - PendingIntent - 标记 IMMUTABLE 错误

例外:面向 S+(版本 31 及更高版本)要求在创建 PendingIntent 时指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一

导致异常的代码:WorkManager.getInstance(context).createCancelPendingIntent(id)

build.gradle 选项

编译SdkVersion 31

buildToolsVersion“30.0.3”(版本 31.0.0 出现错误:安装的构建工具修订版 31.0.0 已损坏。使用 SDK 管理器删除并重新安装)。

模拟器:API 31(使用 API S 一切正常)

依赖项

// 工作管理器

实现“androidx.work:work-runtime-ktx:2.7.0-alpha05”

实施 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'

我认为问题可能出在BuildCompat.java的这个方法中:

/**
 * Checks if the device is running on a pre-release version of Android S or a release version of
 * Android S or newer.
 * <p>
 * <strong>Note:</strong> When Android S is finalized for release, this method will …
Run Code Online (Sandbox Code Playgroud)

flags android android-pendingintent android-workmanager

4
推荐指数
1
解决办法
4173
查看次数