小编Ibr*_*zin的帖子

尽管有更新,但应用程序更新仍不起作用

我正在尝试在我的应用程序中实现应用程序内更新,以便当有新的更新时,用户可以看到它。

我已仔细遵循此处列出的所有步骤 - https://developer.android.com/guide/playcore/in-app-updates/kotlin-java

但由于某些原因,更新对话框没有显示......

活动.kt

override fun onCreate(savedInstanceState: Bundle?) {

    setTheme(R.style.Theme_DirectMusicPlayer)
    super.onCreate(savedInstanceState)
    initViews()
    setContentView(binding.root)
}


private fun initViews(){
    checkForUpdate()
}

 private fun checkForUpdate(){

    appUpdateManager = AppUpdateManagerFactory.create(this)

    // Returns an intent object that you use to check for an update.
    val appUpdateInfoTask = appUpdateManager.appUpdateInfo

    // Checks that the platform will allow the specified type of update.

    appUpdateInfoTask.addOnSuccessListener { appUpdateInfo ->

        if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE

           {

            // Request the update.
            appUpdateManager.startUpdateFlowForResult(
                // Pass the intent that is returned by 'getAppUpdateInfo()'.
                appUpdateInfo, …
Run Code Online (Sandbox Code Playgroud)

android kotlin google-play android-studio

8
推荐指数
0
解决办法
1715
查看次数

任务 ':app:kaptDebugKotlin' 执行失败 - 使用 Hilt 时发生错误

添加了刀柄依赖项:

构建.gradle(项目)

def hilt_version = "2.38.1"
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
Run Code Online (Sandbox Code Playgroud)

构建.gradle(应用程序)

plugins {
 id 'dagger.hilt.android.plugin'
 ....
 }

....

dependencies {
implementation "com.google.dagger:hilt-android:2.38.1"
kapt "com.google.dagger:hilt-compiler:2.38.1"
 .......
 }
Run Code Online (Sandbox Code Playgroud)

我还有一个全局应用程序类:

我的应用程序.kt

@HiltAndroidApp
class MyApplication : Application()
Run Code Online (Sandbox Code Playgroud)

在我的清单中:

清单.xml

<application
    android:allowBackup="true"
    android:name=".global.MyApplication"/>
Run Code Online (Sandbox Code Playgroud)

现在,我创建一个模块

网络模块.kt

@Module
@InstallIn(SingletonComponent::class)
class NetworkModule {

}
Run Code Online (Sandbox Code Playgroud)

当我运行我的代码时出现错误:

**任务“:app:kaptDebugKotlin”执行失败。

执行 org.jetbrains.kotlin.gradle.internal.KaptExecution java.lang.reflect.InitationTargetException 时发生失败(无错误消息)**

当我删除这些时: @Module()@InstallIn()

错误消失了...

可能是什么问题呢?向我显示的错误根本没有提供任何信息。

android dependency-injection kotlin android-studio dagger-hilt

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

Activity 没有零参数构造函数 - Dagger Hilt

我正在使用 Dagger Hilt 进行依赖注入

我有一堂课——

会话管理器

class SessionManager (context: Context){

private val dataStore: DataStore<Preferences> = context.createDataStore(
    name = "session"
)

companion object{
    val IS_LOGIN = preferencesKey<Boolean>(name = "is_login")
}

suspend fun setLogin(isLogin: Boolean){
    dataStore.edit {
            preferences ->
        preferences[IS_LOGIN] = isLogin
    }
 }
}
Run Code Online (Sandbox Code Playgroud)

我试图在这样的活动中调用 setLogin 函数 -

主要活动

@AndroidEntryPoint
 class MainActivity @Inject constructor(private val sessionManager: SessionManager) : 
 AppCompatActivity() {
 override fun onCreate(savedInstanceState: Bundle?) {

  lifecycleScope.launch {
        sessionManager.setLogin(true)
    }
}
Run Code Online (Sandbox Code Playgroud)

我的应用程序

@HiltAndroidApp
class MyApplication : Application() {
 }
Run Code Online (Sandbox Code Playgroud)

显现

<application
    android:name=".MyApplication" …
Run Code Online (Sandbox Code Playgroud)

kotlin android-studio dagger-hilt

3
推荐指数
1
解决办法
2425
查看次数