我正在使用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"))
答案 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)