如何让应用程序选择器在Android中永久共享文本?

时间:2016-06-16 07:17:34

标签: android android-intent share-button

我正在尝试在我的应用中进行推荐和赚取活动。所以我想永久显示一些应用程序,如whatsapp等,以便用户点击它们并直接分享。
我我使用Intent分享推荐代码,但当用户点击分享时会弹出应用列表。
我正在使用的代码是,

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, "This is a message");
intent.setType("text/plain");
startActivity(Intent.createChooser(intent, "Share via"));


如何让应用选择器永久保留给少数应用?

3 个答案:

答案 0 :(得分:0)

应用选择器无意永久显示。因此,您必须创建简单的按钮或图标,并通过设置intent的包来创建直接引用所需应用程序的intent。

E.g。与WhatsApp分享......用这样的方式:

Intent sendIntent = new Intent();
// here comes the magic
sendIntent.setPackage("com.whatsapp");
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);

根据您要共享的内容类型以及您要与之共享的应用程序,重复使用代码创建意图并设置相应的包并最终设置一些其他参数是有意义的。

答案 1 :(得分:0)

您需要app的包名和意图。

  1. 将ACTION_VIEW更改为ACTION_SENDTO
  2. 设置Uri,就像设置
  3. 一样
  4. 打包到whatsapp

    Intent i = new Intent(Intent.ACTION_SENDTO,
    Uri.parse("content://com.android.contacts/data/" + c.getString(0)));
    i.setType("text/plain");
    i.setPackage("com.whatsapp");           // so that only Whatsapp reacts and not the chooser
    i.putExtra(Intent.EXTRA_SUBJECT, "Subject");
    i.putExtra(Intent.EXTRA_TEXT, "I'm the body.");
    startActivity(i);
    
  5. 您可以参考此链接了解更多信息:

    1. Send text to specific contact (whatsapp)
    2. Sending message through WhatsApp

答案 2 :(得分:0)

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("*/*");
intent.setPackage("com.whatsapp");
intent.putExtra(Intent.EXTRA_TEXT, "your text content");
startActivity(intent)

我在Whatsapp中共享泰米尔语字体内容时遇到了同样的问题。我找到了解决方案,此setType(“ * / *”)共享全部内容。