栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android Studio 开发简易浏览器(Mybrowser)(点击链接时使用隐式intent跳转至该浏览器)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android Studio 开发简易浏览器(Mybrowser)(点击链接时使用隐式intent跳转至该浏览器)

一、设计要求:

UI:
线性布局(垂直分布):从上至下 TextView、WebView。
功能:
1界面上方显示网址。
2运行时获取uri 若无uri 默认转到www.baidu.com


二、设置清单文件(AndroidMainfest.xml)

①添加网络许可:


(注意:这个标签应在application外)如图:


②添加intent-filter


                

                
                

                
                

将上面这个标签添加至主界面的activity标签下,如图。


③添加application标签下的usesCleartextTraffic属性
这是在AndroidManifest.xml里的application标签的一个属性,用于配置明文密文请求管理。


三、源码: 布局界面:



    

    


MainActivity.java
package com.example.mybrowser;

import android.content.Intent;
import android.os.Bundle;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final TextView txt = (TextView) findViewById(R.id.textView3);
        final WebView Web = (WebView) findViewById(R.id.webView);
        Intent intent = getIntent();
        String url = intent.getDataString();
        if (url == null) {
            url = "https://www.baidu.com";
        }
        txt.setText(url);
        Web.loadUrl(url);
        Web.getSettings().setUseWideViewPort(true);
        Web.getSettings().setLoadWithOverviewMode(true);

        WebSettings settings = Web.getSettings();
        settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING);
        Web.setWebViewClient(new WebViewClient() {

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                return false;
            }
        });
    }
}


四、AVD模拟:


五、测试其跳转功能

测试方法:
另建新项目 添加按钮
设计点击监听事件 以隐式intent的方式启动具有打开浏览器功能的activity

测试app Java代码如下

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button btn = (Button)findViewById(R.id.button );
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Uri uri = Uri.parse("https://www.runoob.com");
                Intent intent = new Intent(Intent.ACTION_VIEW,uri);
                startActivity(intent);
            }
        });
    }
}

测试结果:





可以看到当我们点击按钮后 弹出了询问窗口 说明开发的app:Mybrowser 已经具备了可以打开链接的功能。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/694833.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号