【问题标题】:How to use whatsapp from my Android app?如何使用我的 Android 应用程序中的 whatsapp?
【发布时间】:2012-03-31 04:33:40
【问题描述】:

这就是我调用 SMS 应用程序的方式:

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

            startActivity(sendIntent);   

如何通过 twitter/Whatsapp/Facebook 发送消息?我应该写什么来代替 mms-sms?我没有找到关于此类的文档。

【问题讨论】:

  • 您的接受分数真的很低。如果您希望人们回答您的问题,它需要更高。

标签: android


【解决方案1】:

我也找不到任何直接调用 Facebook/Twitter 的方法,但您可以随时调用 android.content.Intent.ACTION_SEND 并让用户选择应用程序。

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"));

但是,使用它通过 Facebook 分享时可能会出现错误。更多信息请见:Android Facebook Intent

【讨论】:

  • 试过这个,它只显示电子邮件不显示直接消息选项,对话框中的其他聊天应用程序,如何显示它们。
【解决方案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();
   }  

    }

【讨论】:

【解决方案3】:
Intent i = new Intent(Intent.ACTION_SEND);
i.setPackage("com.whatsapp");
i.putExtra("chat",true);
i.setType("text/plain");
startActivity(i);

【讨论】:

    【解决方案4】:

    您可以使用以下 sn-ps: 对于 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();
       }  
    }
    

    对于推特:

    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 ;    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 2017-08-22
      • 2016-11-20
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多