将纯文本/文本意图发送到SnapChat不起作用

时间:2018-08-03 19:02:54

标签: android android-intent kotlin snapchat

这是我发送简单文本的代码

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(android.content.Intent.EXTRA_TEXT,"Download this App");
intent.setPackage("com.snapchat.android");
startActivity(Intent.createChooser(intent, "Send Via Snapchat"));

它适用于所有其他消息传递应用程序,但不适用于Snapchat。此代码仅打开Snapchat应用。

1 个答案:

答案 0 :(得分:0)

这是如何从Snapchat直接消息中共享文本。 根据{{​​3}},需要设置组件而不是要通过手套共享的软件包。这是我的工作代码。

public void onClick(View v) {
            Intent intent = new Intent(Intent.ACTION_SEND);
            intent.setType("text/plain");
            intent.putExtra(android.content.Intent.EXTRA_TEXT, "TEXT TO SEND");
            ComponentName intentComponent = new ComponentName("com.snapchat.android", "com.snapchat.android.LandingPageActivity");
            intent.setComponent(intentComponent);

            try {
                startActivity(intent);
            } catch (android.content.ActivityNotFoundException ex) {
                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=com.snapchat.android")));
            }
        }

如果未安装该应用程序,它将引发ActivityNotFoundException,因此我们将对其进行处理。 您可以显示一条消息“未安装应用程序”或将用户定向到应用程序商店。