6
我有一个功能,我的应用程序,让人们共享内容。三星设备自动设置共享默认应用程序意向
它通常的工作方式是:
设备要求用户选择一个应用程序来处理Intent
。用户可以选择'一次'或'总是'。
在某些三星设备上,例如Galaxy S6中,只有'一次'和'总是'的选项缺失,选择一个应用程序后,这个应用程序成为该事件的标准。
这甚至会导致我的应用程序被新安装的,试图共享时,将不会向用户询问可言,Intent
只是由用户从另一个应用程序共享时选择共享应用程序处理!
这是我建立我的简单的意图:
Intent intent = ShareCompat.IntentBuilder.from(this)
.setSubject("mySubject")
.setText("myText")
.setType("text/plain")
.setChooserTitle("myChooserTitle").getIntent();
startActivity(intent);
我也试过:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "myText");
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "mySubject");
sendIntent.setType("text/plain");
startActivity(sendIntent);
我的问题是:我可以做任何事情从我的代码,以防止这种还是我必须告诉我的用户下次不要购买三星?
你不ussually定义这个意图在清单中,活性应通过意图是推出?可能你已经做到了,但在这里没有看到它。也许你可以根据具体意图定义,只有你的活动应该启动。我不知道你在说什么,但是我使用NFC Intent(由标签上的NDEF触发),如果它从标签中读出特定的NDEF,它就会启动我的Activity。 –
@AndroidNFC我不想让自己的活动启动,但用户选择与某人分享某些文本的任何应用程序,例如WhatsApp,电子邮件客户端等 – FWeigl