我正在接收其他应用程序的一些文本,例如,如果人们共享youtube应用程序的视频,我的应用程序将出现在可共享列表中。如果他们选择我的应用程序,我想得到文本内容。
我有这样的意图过滤器。
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:host="*" android:mimeType="text/*" />
</intent-filter>我可以从活动中使用onNewIntent方法访问数据。
override fun onNewIntent(intent: Intent?) {
Log.d(TAG, intent?.getStringExtra(Intent.EXTRA_TEXT).toString())
super.onNewIntent(intent)
}但是我想要访问一个可组合函数中的文本,我怎么做呢?
发布于 2022-09-24 15:50:09
我认为在setContent方法中使用一次性效果应该可以完成这项工作。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
DisposableEffect(Unit) {
val listener = Consumer<Intent> {
// logic here
}
addOnNewIntentListener(listener)
onDispose { removeOnNewIntentListener(listener) }
}
}
}https://stackoverflow.com/questions/71460653
复制相似问题