没有应用程序可以使用Kotlin执行此操作Android Intent

时间:2018-07-04 18:04:41

标签: android android-intent kotlin

我正在使用Android官方文档中的以下代码段,以使用Intent通过应用程序共享内容,但显示“没有应用程序可以执行此操作”。在物理设备上。我安装了Messenger,电子邮件客户端和短信客户端。

val intent = Intent().apply {
    intent.action = Intent.ACTION_SEND
    intent.type = "text/plain"
    intent.putExtra(Intent.EXTRA_TEXT, "Text to share")
}

startActivity(Intent.createChooser(intent, "Sharing"))

4 个答案:

答案 0 :(得分:2)

我认为您应该对此应用进行更改:

 $path = 'C:/wamp/www/mavis/public/downloads/';

在应用内部修改intent变量时,您是在修改活动意图,而不是全新的意图。

复制此代码,您将看到我在说什么:

val intent = Intent().apply {
    action = Intent.ACTION_SEND
    type = "text/plain"
    putExtra(Intent.EXTRA_TEXT, "Text to share")
}

答案 1 :(得分:1)

这是我所知道的:

正如Fredy Mederos所说,您被修改的值是new Intent,而不是val intent = Intent().apply { action = Intent.ACTION_SEND type = "text/plain" putExtra(Intent.EXTRA_TEXT, "Text to share") }

您应该这样写:

val intent = Intent().apply {
        this.action = Intent.ACTION_SEND
        this.type = "text/plain"
        this.putExtra(Intent.EXTRA_TEXT, "Text to share")
    }

或更精确地说:

this

new Intent()指向您初始化的{'utilities': 0, 'technology': 1}

答案 2 :(得分:0)

下面的代码有效,而不是问题中上面的代码。

val i = Intent(Intent.ACTION_SEND)
i.type = "text/plain"
i.putExtra(Intent.EXTRA_TEXT, "Content to share")
startActivity(Intent.createChooser(i, "Sharing"))

我不确定问题中的代码为什么不起作用,但是我猜想intent与活动的意图有关,并且当我实例化Intent类中的另一个对象时它也可以工作。

答案 3 :(得分:0)

您可以替换startActivity(Intent.createChooser(i, "Sharing"))startActivity(i)