1

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

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 应用程序。

4

1 回答 1

0

这是如何从 snapchat 直接消息中共享文本。根据https://stackoverflow.com/a/51361192/5939682需要设置组件而不是包以通过 snapchat 共享。这是我的工作代码。

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,因此我们会处理它。您可以将消息显示为“未安装应用程序”或将用户引导至应用商店。

于 2019-12-08T10:20:47.760 回答