意图发送崩溃

Posted

技术标签:

【中文标题】意图发送崩溃【英文标题】:Intent send crashes 【发布时间】:2017-09-03 16:47:55 【问题描述】:

我尝试使用 whatsapp 发送短信,但此代码每次都失败。

            Intent shareIntent = new Intent();
            shareIntent.setAction(Intent.ACTION_SEND);
            shareIntent.setPackage("com.whatsapp");
            shareIntent.putExtra(Intent.EXTRA_TEXT, txtMessage.getText().toString());
            startActivity(shareIntent);

【问题讨论】:

为什么会失败?以及如何? 什么是崩溃日志?。在这里发帖 【参考方案1】:

这是从我们的应用程序向 whatsapp 发送消息的解决方案

public void onClickWhatsApp() 

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


另见http://www.whatsapp.com/faq/en/android/28000012

【讨论】:

以上是关于意图发送崩溃的主要内容,如果未能解决你的问题,请参考以下文章

通过意图传递对象时应用程序崩溃

收到推送通知且未调用 CGM 意图服务时应用程序崩溃

隐式Intent发送前需要先检验

向异步任务发送意图

仅在活动运行时将意图从服务发送到活动

未发送执行者对接收者的意图