APP封装从一门开始
一门提供APP封装底层开发框架,一键在线APP封装,200+原生APP模块,2000+JS映射接口按需自助封装

h5封装的app怎么打开默认浏览器

在移动应用领域,原生应用和Hybrid应用已经成为主流。原生应用指的是使用操作系统提供的API来实现的应用,而Hybrid应用则是一种介于原生应用和Web应用之间的应用。在Hybrid应用中,常使用H5技术来实现应用的Web部分。

在Hybrid应用中,H5部分通常被封装在一个WebView中。其中WebView是Android平台和iOS平台上的一种控件,它可以加载显示Web页面,并在其中执行JavaScript脚本。在WebView中打开网页时,默认会使用应用中自带的浏览器,而并非是用户所选择的默认浏览器。因此,如何在Hybrid应用中打开用户所选择的默认浏览器呢?

解决方案如下:

1. Android平台上的解决方案

在Android平台上,可以通过修改WebView的属性来实现在默认浏览器中打开网页的功能。具体做法如下:

1. 在AndroidManifest.xml文件中添加以下代码:

```xml

android:name=".MainActivity"

android:theme="@style/AppTheme.NoActionBar">

```

上述代码中,添加的是该Activity的intent过滤器。意思是,该页面可以接收浏览器分享的链接,并且会打开该页面。

2. 在MainActivity中添加以下代码:

```java

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 找到WebView控件

WebView webView = (WebView) findViewById(R.id.web_view);

// 适配5.0+系统,启用混合模式。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

// 5.0+系统开启混合模式

webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

}

// 打开页面,同时在默认浏览器中打开

webView.loadUrl("https://www.xxx.com");

webView.setWebViewClient(new WebViewClient() {

public boolean shouldOverrideUrlLoading(WebView view, String url) {

if (url != null) {

// 手动处理跳转页面

if (url.startsWith("http://") || url.startsWith("https://")) {

view.loadUrl(url);

return false;

} else {

// 其他跳转方式,使用默认浏览器打开

try {

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setData(Uri.parse(url));

startActivity(intent);

} catch (Exception e) {

e.printStackTrace();

}

}

return true;

}

return false;

}

});

}

```

上述代码中,在WebView加载网页时,使用了WebViewClient来监听网页加载事件,如果发现链接以http或https开头,则使用WebView自带的loadUrl方法来加载该网页;否则,使用指定的默认浏览器打开该链接。通过上述方法,即可实现在默认浏览器中打开页面的功能。

2. iOS平台上的解决方案

在iOS平台上,可以通过自定义NSURLProtocol来实现在默认浏览器中打开网页的功能。具体做法如下:

1. 在AppDelegate.m文件中添加以下代码:

```Objective-C

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

[NSURLProtocol registerClass:[MyURLProtocol class]];

return YES;

}

```

上述代码中,MyURLProtocol是自定义的NSURLProtocol。该代码会在应用启动时注册该协议。

2. 在MyURLProtocol.m文件中进行如下实现:

```Objective-C

+(BOOL)canInitWithRequest:(NSURLRequest *)request {

return YES;

}

+ (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request {

return request;

}

// 该方法执行时,系统会自动使用默认的浏览器打开网页。

- (void)startLoading {

NSMutableURLRequest* request = (NSMutableURLRequest*)[self.request mutableCopy];

[[UIApplication sharedApplication] openURL:[request URL]];

[self.client URLProtocol:self didFailWithError:nil];

}

- (void)stopLoading {

}

```

上述代码中,canInitWithRequest方法和canonicalRequestForRequest方法用于处理请求。而startLoading方法,则是在请求开始时执行的方法。在这里,我们使用了UIApplication的openURL方法来打开该链接,从而使用了默认浏览器来加载网页。而stopLoading方法则是在请求结束时执行的方法。

综上所述,无论是在Android平台还是iOS平台,都可以通过一些技巧来实现在默认浏览器中打开网页的功能。这种方式极其方便,实现简单,值得开发者们的尝试。


相关知识:
做h5用的app
H5(HTML 5)是指HTML、CSS和JavaScript技术的更新版本,是互联网应用的基础技术,可以用于开发网页应用和移动应用。为了更好地发挥H5的优势,开发人员可以使用一些专门为H5设计的APP,本文将介绍H5 APP的原理和详细信息。一、H5 A
2023-05-26
重庆h5开发app
重庆H5(HTML5)开发APP,是一种基于Web技术和移动端开发的新兴应用开发方式。它将HTML5、CSS3和JavaScript等Web技术与移动端应用开发技术相结合,可以快速并且灵活的开发出高质量的移动应用。H5开发APP的原理是基于Web App,
2023-05-26
怎么制作app推广h5模板
随着移动互联网的普及,越来越多的企业和个人开始注重移动端的推广,而APP作为移动端的主要入口,其推广也变得越来越重要。为了推广APP,我们可以制作一些H5页面来引导用户下载和使用APP,今天就来详细介绍一下制作APP推广H5模板的原理与步骤。一、原理介绍A
2023-05-26
武汉h5开发app
H5开发app是现在比较流行的一种开发方式,因为它可以实现轻松的跨平台应用开发和开发成本低的优点。而在武汉,H5开发已经成为了网页开发的主流。下面,我将介绍一下武汉H5开发app的原理和具体实现方法。H5开发app主要依靠HTML5、CSS3和JavaSc
2023-05-26
雷霆传奇h5能不能封包做app
雷霆传奇H5是一款非常流行的网络游戏,玩家可以通过浏览器直接访问游戏网站进行游戏。对于一些喜欢游戏的用户来说,他们会想将游戏封装成APP,方便他们在手机上随时随地进行游戏。那么,雷霆传奇H5能否被封装成APP?下面将从原理和详细介绍两方面给出答案。首先,我
2023-05-26
黑龙江h5开发app
H5开发APP是一种基于HTML5技术的移动应用开发方式,它可以在手机端运行,无需通过应用商店下载安装,具有跨平台、兼容性好、维护成本低等特点。下面将从原理、技术要点及优缺点等方面进行详细介绍。一、原理H5开发APP的原理是将网页以一定的方式打包并在移动设
2023-05-25
广西h5开发app
随着移动设备的普及,移动应用成为人们日常生活中必不可少的一部分。H5开发app是创建Web应用程序的一种新方法,它可以让开发人员使用HTML,CSS和JavaScript等前端技术来构建跨平台应用程序。广西H5开发app主要是基于框架开发,我们来为大家简单
2023-05-25
北京h5开发app电话
H5开发APP是一种通过HTML、CSS和JavaScript编写的Web应用程序,通过容器应用程序安装到设备上,能够实现类似原生应用的用户体验,同时具备跨平台的特性。北京H5开发APP电话是指在北京地区,使用H5技术开发APP的联系方式。本文将从H5开发
2023-05-25
h5制作app软件有哪些好
随着HTML5技术的不断发展,越来越多的开发者开始使用其来制作手机应用程序。下面我们来介绍一些使用HTML5开发手机应用程序的优秀软件工具。1. PhoneGapPhoneGap是最著名的手机应用开发平台之一,它使用HTML、CSS和JS等Web技术来构建
2023-05-25
h5生成app开源
HTML5(Hyper Text Markup Language 5)是一种标记语言,常用于构建网页和应用程序。它可以同时运行在多种平台上,包括桌面电脑、智能手机和平板电脑等。近年来,HTML5在开发移动应用程序方面变得越来越受欢迎,一些开源工具和框架也被
2023-05-25
h5打包 app
随着移动互联网的发展,越来越多的企业和个人开始关注和使用移动应用。在过去,开发一款移动应用需要精通 Java、Objective-C 等不同的编程语言,并需要掌握相应的开发框架和工具。而现在,随着移动版本的普及,移动应用的开发变得越来越方便。其中,h5 打
2023-05-25
app原生开发和h5app有什么区别
随着移动互联网的快速发展,越来越多的应用程序被开发出来来适应不同的用户需求,其中,app原生开发和h5app 是开发人员常用的两种应用程序开发方式。那么,它们之间有什么区别呢?本文将会对app原生开发和h5app进行详细介绍和比较。app原生开发是通过特定
2023-05-25
©2015-2021 一门APP yimenapp.com  川公网安备 51019002001185号 蜀ICP备17005078号-3