我正在使用 NavDeepLinkBuilder 为推送通知生成挂起的意图,以在特定目的地打开应用程序。
return NavDeepLinkBuilder(this)
.setComponentName(MainActivity::class.java)
.setGraph(R.navigation.main_navigation)
.setDestination(destinationId)
.setArguments(args)
.createPendingIntent()
Run Code Online (Sandbox Code Playgroud)
当应用程序在前台时,通知将导航到 NavDeepLinkBuilder 构建的待处理意图中设置的目的地。
但是,当应用程序不在前台时,通知只会导航到 MainActivity 而忽略在 NavDeepLinkBuilder 中设置的目标。
注意:待处理的意图和通知内置于扩展 FirebaseMessagingService 的服务中。
android android-notifications android-architecture-navigation
在此示例应用程序中:https : //github.com/googlesamples/android-sunflower
存储库类(PlantRepository.kt、GardenPlantingRepository.kt)是单例的,注入器实用程序对象(InjectorUtils.kt)也是如此。
当注入器实用程序对象已经是一个时,为什么存储库类是单例的?
使用以下数据类:
data class Photo(val id: String)
data class Album(val id: String, val photos: List<Photo>)
Run Code Online (Sandbox Code Playgroud)
我希望能够将一个列表Albums变成一个地图Map<photoId, Set<albumId>>
例如:
val albums = listOf(
Album("1", listOf(
Photo("1"),
Photo("2"),
Photo("3")
)),
Album("2", listOf(
Photo("1"),
Photo("2")
))
)
Run Code Online (Sandbox Code Playgroud)
将转化为:
val map = mapOf(
Pair("1", setOf("1", "2")),
Pair("2", setOf("1", "2")),
Pair("3", setOf("1")
)
Run Code Online (Sandbox Code Playgroud)
有没有办法使用 kotlin 转换函数/lambdas 来做到这一点?例如,groupBy、flatMap?
android ×2
android-architecture-components ×1
android-architecture-navigation ×1
function ×1
kotlin ×1
lambda ×1