Jee*_*eva 6 android android-jetpack-compose
我正在从其他应用程序接收一些文本,例如,如果人们从 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>
Run Code Online (Sandbox Code Playgroud)
onNewIntent我可以使用活动中的方法访问数据。
override fun onNewIntent(intent: Intent?) {
    Log.d(TAG, intent?.getStringExtra(Intent.EXTRA_TEXT).toString())
    super.onNewIntent(intent)
}
Run Code Online (Sandbox Code Playgroud)
但我想访问可组合函数内的文本,我该怎么做?
小智 7
我认为在该方法中使用一次性效果setContent应该可以完成工作
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            DisposableEffect(Unit) {
                val listener = Consumer<Intent> {
                    // logic here
                }
                addOnNewIntentListener(listener)
                onDispose { removeOnNewIntentListener(listener) }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           2513 次  |  
        
|   最近记录:  |