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页面的工具,也被称作H5制作工具或H5编辑器。它包括了丰富的模板和功能,可以帮助用户轻松制作出高质量的H5页面。易企秀的H5页面可以用于多个领域的展示,如营销推广、企业介绍、活动宣传等等。用户们可以在易企秀上快速制作出符合自己需要的
2023-05-26
苹果不允许h5开发的app发布时间
近年来,在智能设备飞速发展的背景下,很多企业开始尝试通过移动应用来拓展市场。H5(HTML5)技术凭借其跨平台、开发效率高、资源消耗低等优点在移动应用开发中得到广泛应用。然而,在苹果的iOS平台中,使用H5技术开发出来的App虽然可以在Safari浏览器中
2023-05-26
可以做h5的app
H5(HTML5)是一种基于Web技术的开放标准,可以用来创建现代化的网页应用程序。H5程序的开发和维护成本较低,并且可以在多个平台和设备上运行。因此,在移动应用程序市场中,H5应用程序变得越来越流行。本文将探讨如何使用H5技术构建原生应用程序(App)。
2023-05-26
吉鲸邦app小程序h5定制开发
吉鲸邦是一个专业的企业服务平台,提供一系列针对企业用户的服务,包括应用软件、人力资源管理、税务管理、工商注册等等。随着智能手机的普及和移动互联网的发展,吉鲸邦也推出了移动端的服务,其中包括吉鲸邦App、小程序和H5页面定制等服务。本文将详细介绍吉鲸邦App
2023-05-26
h5做app能调用手机摄像头
在 HTML5 规范中,HTML5 定义了一个非常有用的 API --- MediaStream API,用于访问 WebRTC(网页实时通信)的用户数据,例如实时音频、视频和屏幕分享。其中,使用 MediaStream API 调用摄像头和麦克风是最常见
2023-05-25
h5做手机app开发
近年来,随着智能手机的普及和移动互联网的飞速发展,移动应用程序开发成为了一个热门的话题。对于网站博主来说,如果你想要扩展自己的技能树,或者想要开发自己的移动应用,那么HTML5应用程序开发是一个很好的选择。在本文中,我将详细介绍H5做手机app开发的原理和
2023-05-25
h5制作app软件是哪些
HTML5是一种网页开发标准,可以实现网页和移动应用的开发,近年来逐渐成为移动应用开发的主流技术。因为它可以解决移动应用开发中的诸多难题,如跨平台、多设备适配、性能优化等。下面详细介绍一些h5制作app软件的方式。1. React NativeReact
2023-05-25
h5怎么制作游戏平台app
H5游戏是一种基于HTML5的游戏,它的特点是轻量、易扩展、跨平台。H5游戏在PC端与移动端均可运行,因此造就了游戏市场上的一些新玩法,比如游戏平台APP。制作游戏平台APP需要掌握一些基础知识,下面我将对H5游戏制作平台APP的原理和具体步骤进行详细介绍
2023-05-25
h5页面的制作app有哪些
随着智能手机的普及和用户对良好的移动体验的需求,移动应用程序(App)的需求也越来越大。而为了提升移动App的用户体验,越来越多的企业开始探索使用H5页面来制作App。H5页面作为一种轻量级的web页面技术,具有跨平台、易部署、易开发、易维护、易升级等特点
2023-05-25
h5能生成app吗
HTML5(H5)是一种网页开发标准,现在已成为一种强大的工具,有些人会在移动应用程序的开发中是否可以利用HTML5呢?可以回答“是”。下面将对H5生成APP的原理及详细介绍进行阐述。#### 一、H5生成APP的原理H5生成APP的原理就不难理解,即通过
2023-05-25
h5开发app可以使用什么框架
H5开发App是一种轻量级的开发方式,可以通过HTML5、CSS3和JavaScript实现应用程序的开发、调试和发布,无需使用复杂的编程语言或集成开发环境。目前,H5开发App主要使用以下框架:1. Ionic框架Ionic框架是目前H5开发App最流行
2023-05-25
h5可以做社交app吗
HTML5技术的出现,彻底地改变了Web开发的格局,使得Web开发在许多领域有了广泛的应用。而在社交应用领域,HTML5同样有着非常广泛的应用。下面我们就来介绍一下基于HTML5技术的社交应用开发。一、背景介绍随着移动设备的普及和4G网络的兴起,社交网络应
2023-05-25
©2015-2021 一门APP yimenapp.com  川公网安备 51019002001185号 蜀ICP备17005078号-3