三星设备自动为共享Intent设置默认应用程序

时间:2016-12-15 10:05:41

标签: android android-intent samsung-mobile

我的应用中有一个功能,让人们分享内容。

它通常的工作方式是:

设备要求用户选择要处理Intent的应用。用户可以选择“只需一次”或“始终”。

在某些三星设备上,例如Galaxy S6,“只有一次”和“永远”选项都缺失,选择应用程序后,这个应用程序成为该事件的标准。

这甚至导致我的应用程序刚刚安装,在尝试共享时,根本不会询问用户,Intent只是由用户在共享时选择共享的应用处理另一个应用程序!

某些三星设备的此问题已记录在herehere

这是我构建我的简单意图的方式:

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);

我的问题是:我可以通过我的代码执行任何操作来阻止此操作或者我是否必须告诉我的用户下次不要购买三星?

1 个答案:

答案 0 :(得分:13)

以下解决了问题:

startActivity(Intent.createChooser(sendIntent, "title"));