Android 使用context.startActivity直接向whatsapp发送消息

Android 使用context.startActivity直接向whatsapp发送消息,android,android-intent,code-reuse,start-activity,Android,Android Intent,Code Reuse,Start Activity,我想通过whatsapp直接发送一条消息,我发现下面的代码有效。但是,当我将代码作为一个普通函数调用移动到另一个java文件中后,它就无法工作并崩溃了。那怎么了?谢谢 之前: Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to sen

我想通过whatsapp直接发送一条消息,我发现下面的代码有效。但是,当我将代码作为一个普通函数调用移动到另一个java文件中后,它就无法工作并崩溃了。那怎么了?谢谢

之前:

Intent sendIntent = new Intent();
            sendIntent.setAction(Intent.ACTION_SEND);
            sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
            sendIntent.setType("text/plain");
            sendIntent.setPackage("com.whatsapp");
            startActivity(sendIntent);
之后:

public void share2whatsapp(Context context) {

    Intent sendIntent = new Intent(Intent.ACTION_SEND);
    sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
    sendIntent.setType("text/plain");
    sendIntent.setPackage("com.whatsapp");
    context.startActivity(sendIntent);
}

你的logcat在哪里???上下文不是空的。是的,我在logcat上找到了一些信息,并添加了如下标志:-sendIntent.setFlagsInt.flag\u ACTIVITY\u NEW\u TASK;12-29 14:55:39.558:E/AndroidRuntime13592:致命异常:main 12-29 14:55:39.558:E/AndroidRuntime13592:android.util.AndroidRuntimeException:从活动上下文外部调用startActivity需要标记_Activity _NEW_TASK。这真的是你想要的吗?但是,在我发送完第一条消息并尝试发送另一条消息后,whatsapp不会显示第二条消息。还有什么问题吗?你的日志在哪里???上下文不是空的。是的,我在logcat上找到了一些信息,并添加了如下标志:-sendIntent.setFlagsInt.flag\u ACTIVITY\u NEW\u TASK;12-29 14:55:39.558:E/AndroidRuntime13592:致命异常:main 12-29 14:55:39.558:E/AndroidRuntime13592:android.util.AndroidRuntimeException:从活动上下文外部调用startActivity需要标记_Activity _NEW_TASK。这真的是你想要的吗?但是,在我发送完第一条消息并尝试发送另一条消息后,whatsapp不会显示第二条消息。还有什么不对的吗?考虑给你的答案增加一些解释。仅使用代码的答案通常不被视为特别有用。sendIntent.setFlagsInt.FLAG\u ACTIVITY\u NEW\u TASK;根据调试人员的建议添加。请考虑对您的答案添加一些解释。仅使用代码的答案通常不被视为特别有用。sendIntent.setFlagsInt.FLAG\u ACTIVITY\u NEW\u TASK;根据调试器的建议添加
public void share2whatsapp(Context context) {
    Intent sendIntent = new Intent(Intent.ACTION_SEND);
    sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
    sendIntent.setType("text/plain");
    sendIntent.setPackage("com.whatsapp");
    sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(sendIntent);
}