2014-12-29 2 views
2

Я хочу отправить сообщение напрямую через whatsapp, и я нахожу код ниже работы. Но он не работает и не сработает после того, как я переместил код в другой Java-файл как обычный вызов функции. Так что же не так? Благодаряотправить сообщение непосредственно на whatsapp using context.startActivity

перед:

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); 
} 
+1

где ваш LogCat ??? –

+0

контекст может быть нулевым –

+0

Контекст не равен нулю. Да, я нахожу некоторую информацию о logcat и добавляю флаг следующим образом: - sendIntent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK); 12-29 14: 55: 39.558: E/AndroidRuntime (13592): FATAL EXCEPTION: main 12-29 14: 55: 39.558: E/AndroidRuntime (13592): android.util.AndroidRuntimeException: для вызова функции startActivity() извне контекста Activity требуется флаг FLAG_ACTIVITY_NEW_TASK. Это действительно то, что вы хотите? Однако после того, как я завершу отправку первого и попытаюсь отправить другое, whatsapp не отображает второе сообщение. Есть ли что-то не так? – user2911996

ответ

-1
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); 
} 
+0

Подумайте о добавлении некоторых объяснений в свой ответ. Ответ на кодекс обычно не считается особенно полезным. –

+0

sendIntent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK); добавляется как предложено отладчиком – user2911996