You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中Intent.ACTION_SENDTO触发ActivityNotFoundException问题求助

问题原因

你使用的Intent.ACTION_SENDTO必须指定目标URI(比如邮箱、短信地址),系统才能找到对应的处理应用。你的代码仅添加了EXTRA_TEXT和EXTRA_SUBJECT,但未设置data属性,导致系统找不到可处理该Intent的Activity,因此抛出ActivityNotFoundException。

解决方案

根据需求,有两种修改方式:

方式1:通用文本分享(支持微信、QQ等应用)

若想让用户选择任意支持分享的应用,改用Intent.ACTION_SEND并设置MIME类型为text/plain:

share.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/plain");
        intent.putExtra(Intent.EXTRA_TEXT, "I scored "+score+"/"+questions.length+" in my java quiz");
        intent.putExtra(Intent.EXTRA_SUBJECT, "App chal gyi bc");
        try {
            startActivity(Intent.createChooser(intent, "分享到"));
        }catch (ActivityNotFoundException e){
            Toast.makeText(MainActivity.this, "没有找到可分享的应用", Toast.LENGTH_SHORT).show();
            question.setText(e.toString());
        }
    }
});
  • 用createChooser可强制弹出应用选择器,确保用户能看到所有可用的分享渠道。

方式2:指定发送到邮箱(保留ACTION_SENDTO)

若想直接打开邮箱应用发送邮件,需给Intent设置mailto:协议的URI:

share.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent = new Intent(Intent.ACTION_SENDTO);
        // 设置邮箱URI,可指定收件人(如"mailto:example@xxx.com"),留空则让用户输入
        intent.setData(Uri.parse("mailto:"));
        intent.putExtra(Intent.EXTRA_TEXT, "I scored "+score+"/"+questions.length+" in my java quiz");
        intent.putExtra(Intent.EXTRA_SUBJECT, "App chal gyi bc");
        try {
            startActivity(intent);
        }catch (ActivityNotFoundException e){
            Toast.makeText(MainActivity.this, "没有找到邮箱应用", Toast.LENGTH_SHORT).show();
            question.setText(e.toString());
        }
    }
});
补充说明
  • ACTION_SENDTO是定向发送Intent,必须搭配data指定目标协议(如mailto:、smsto:),否则系统无法匹配对应Activity。
  • ACTION_SEND是通用分享Intent,适合让用户选择多种应用,无需指定data,但必须设置MIME类型。

内容的提问来源于stack exchange,提问作者Ritam Arya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 16:41:32