向其他应用发送简单数据

问题描述

我需要使用Android Sharesheet将我的应用程序中的内容共享给另一个应用程序。但是我正在使用MVVM模式和数据绑定。我从视图中调用函数viewmodel中,因此无法传递上下文来启动选择器活动。如何从片段本身获得tgis?

 <data>
    <variable
        name="viewmodel"
        type="com.myexample.viewmodel" />

<Button
android:id="@+id/share"
android:onClick="@{()-> viewmodel.onShareContent()}" />

viewmodel中,该函数如下所示:

    fun onShareContent(){
        val intent = Intent(Intent.ACTION_SEND)
        intent.type = "text/plain"
        intent.putExtra(Intent.EXTRA_SUBJECT,"test")
        intent.putExtra(Intent.EXTRA_TEXT,"test test")
        startActivity(Intent.createChooser(intent,"This is a test") }// Can't call this here

我无法从此处开始活动,因为它需要上下文。

我该如何实现?也许有更好的方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)