2012-03-14 52 views
6

Đây là cách tôi kêu gọi các ứng dụng tin nhắn SMS:Cách sử dụng whatsapp từ ứng dụng Android của tôi?

Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
      sendIntent.putExtra("sms_body", "The SMS text"); 
      sendIntent.setType("vnd.android-dir/mms-sms"); 

      startActivity(sendIntent); 

Làm thế nào để làm điều tương tự để gửi tin nhắn qua twitter/Whatsapp/Facebook? Tôi nên viết gì thay cho mms-sms? Tôi không tìm thấy tài liệu nào về điều đó.

+0

bạn Chấp nhận Điểm thực sự thấp . Nếu bạn muốn mọi người trả lời câu hỏi của bạn, nó cần phải cao hơn. –

Trả lời

8

Tôi cũng không thể tìm thấy cách gọi trực tiếp Facebook/Twitter, nhưng bạn luôn có thể gọi android.content.Intent.ACTION_SEND và để người dùng chọn ứng dụng.

Android ACTION_SEND intent

Intent i = new Intent(android.content.Intent.ACTION_SEND); 

i.setType("text/plain"); 
i.putExtra(Intent.EXTRA_SUBJECT, "Subject"); 
i.putExtra(Intent.EXTRA_TEXT, "Message body"); 

startActivity(Intent.createChooser(i, "Share dialog title")); 

Tuy nhiên, có thể có một lỗi khi sử dụng này để chia sẻ thông qua Facebook. Để biết thêm thông tin xin vui lòng xem: Android Facebook Intent

+0

Đã cố gắng điều này, nó chỉ hiển thị email không hiển thị tùy chọn tin nhắn trực tiếp, các ứng dụng trò chuyện khác trong hộp thoại, cách hiển thị chúng. –

0
Intent i = new Intent(Intent.ACTION_SEND); 
i.setPackage("com.whatsapp"); 
i.putExtra("chat",true); 
i.setType("text/plain"); 
startActivity(i); 
2
public void onClickWhatsApp(View view) { 
    try { 
     Intent waIntent = new Intent(Intent.ACTION_SEND); 
     waIntent.setType("text/plain"); 
       String text = "YOUR TEXT HERE"; 
     waIntent.setPackage("com.whatsapp"); 
     if (waIntent != null) { 
      waIntent.putExtra(Intent.EXTRA_TEXT, text);// 
      startActivity(Intent.createChooser(waIntent, "Share with")); 
     } else { 
      Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT) 
        .show(); 
     }} catch (NameNotFoundException e) { 
     Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT) 
       .show(); 
    } 

    } 
+0

câu trả lời hoàn hảo .. – Noman

+1

Không kiểm tra xem WhatsApp có được cài đặt hay không. Xem http://stackoverflow.com/questions/15462874/sending-message-through-whatsapp – 0101100101

+0

Tôi đã chỉnh sửa câu trả lời của mình. bây giờ nó kiểm tra xem WhatsApp có được cài đặt hay không. – krishan

0

Bạn có thể sử dụng các đoạn sau: cho WhatsApp:

public void onClickWhatsApp(View view) { 

    PackageManager pm=getPackageManager(); 
    try { 

     Intent waIntent = new Intent(Intent.ACTION_SEND); 
     waIntent.setType("text/plain"); 
     String text = "YOUR TEXT HERE"; 

     PackageInfo info=pm.getPackageInfo("com.whatsapp", PackageManager.GET_META_DATA); 
     //Check if package exists or not. If not then code 
     //in catch block will be called 
     waIntent.setPackage("com.whatsapp"); 

     waIntent.putExtra(Intent.EXTRA_TEXT, text); 
     startActivity(Intent.createChooser(waIntent, "Share with")); 

    } catch (NameNotFoundException e) { 
     Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT) 
       .show(); 
    } 
} 

cho Twitter:

void shareOnTwitter() 
{ 
    PackageManager pm=getPackageManager(); 
    try { 
     Intent waIntent = new Intent(Intent.ACTION_SEND); 
     waIntent.setType("text/plain"); 
     String text = "Insert Tweet Here"; 

     @SuppressWarnings("unused") 
     PackageInfo info=pm.getPackageInfo("com.twitter.android", PackageManager.GET_META_DATA); 
     //Check if package exists or not. If not then code 
     //in catch block will be called 
     waIntent.setPackage("com.twitter.android"); 

     waIntent.putExtra(Intent.EXTRA_TEXT, text); 
     startActivity(Intent.createChooser(waIntent, "Share with")); 

    } catch (NameNotFoundException e) { 
     Toast.makeText(this, "Twitter not Installed", Toast.LENGTH_SHORT) 
     .show(); 
     return ; 
    } 
    return ;  
} 
Các vấn đề liên quan