Webview"mailto:"链接和"tel:"链接工作使用Intent.ACTION_VIEW,但如何添加唯一的主题,即"mailto:"链接

 mthp 发布于 2023-02-10 14:56

我使用以下代码就可以了.所有的http网址都在webview中打开,"tel:"链接在拨号器中打开,"mailto:"链接在电子邮件客户端中打开.

但我的问题是如何将"mailto:"链接的主题更改为不同于预定义主题的内容.我猜测应该有2个单独的意图,1个用于"tel:"链接,1个用于"mailto:"链接.我根本不知道如何将代码放入下面的shouldOverrideUrlLoading方法中.或者我可能正在使用错误的方法来满足我的需求.

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if( url.startsWith("http:") || url.startsWith("https:") ) {
                return false;
            }

            // Otherwise allow the OS to handle it
            Intent intent = new Intent(Intent.ACTION_VIEW,
                    Uri.parse(url));
            startActivity(intent);
            return true;
        }

我设法让我自己的主题"mailto:"与Intent合作,但代码中没有包含"tel:"链接.那么我怎样才能在"mailto:"链接中使用我自己的主题呢?

任何想法或建议将不胜感激!

1 个回答
  • 这是我的解决方案,它对我有用.我希望它能帮助其他人解决我遇到的同样问题.

    @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if( url.startsWith("http:") || url.startsWith("https:") ) {
                    return false;
                }
    
                // Otherwise allow the OS to handle it
                else if (url.startsWith("tel:")) { 
                    Intent tel = new Intent(Intent.ACTION_DIAL, Uri.parse(url)); 
                    startActivity(tel);
                    return true;
                }
                else if (url.startsWith("mailto:")) {
                    String body = "Enter your Question, Enquiry or Feedback below:\n\n";
                    Intent mail = new Intent(Intent.ACTION_SEND);
                    mail.setType("application/octet-stream");
                    mail.putExtra(Intent.EXTRA_EMAIL, new String[]{"email address"});
                    mail.putExtra(Intent.EXTRA_SUBJECT, "Subject");
                    mail.putExtra(Intent.EXTRA_TEXT, body);
                    startActivity(mail);
                    return true;
                    }
                return true;
            }
    

    2023-02-10 15:00 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有