Android通过网页启动APP

http://www.cnblogs.com/yejiurui/p/3413796.html

1、测试网页

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>TestStartApp</title>
    </head>
    <body>
        <a href="m://test.com/?package=com.tencent.mobileqq&arg1=1">打开QQ</a><br/>
    </body>
</html>

2、需要对WebView设置如下:

	private WebView mWebView;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.fragment_main);

//		if (savedInstanceState == null) {
//			getSupportFragmentManager().beginTransaction()
//					.add(R.id.container, new PlaceholderFragment()).commit();
//		}
		mWebView = (WebView) findViewById(R.id.webview);
		mWebView.setWebViewClient(new WebViewClient(){

			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				Log.e("Test", url);
				Uri uri=Uri.parse(url);
				if(uri.getScheme().equals("m")&&uri.getHost().equals("test.com")){
					String pkgName=uri.getQueryParameter("package");
					String arg1=uri.getQueryParameter("arg1");
					Log.e("Test", "package = "+pkgName+", arg1 = "+arg1);
					Intent intent =null;
					intent = getPackageManager().getLaunchIntentForPackage(pkgName);
					if(intent != null){
						startActivity(intent);
					}
					return true;
				}else
					return super.shouldOverrideUrlLoading(view, url);
			}

		});
		mWebView.loadUrl("http://***************/testApp.html");
	}

点击打开QQ,如果你手机上安装了QQ,就可以启动了。

时间: 2024-08-15 08:13:37

Android通过网页启动APP的相关文章

Android在浏览器启动APP

要想在浏览器启动APP的方法例如以下: 在须要跳转的ACTIVITY中加入intent-filter的相关信息: <intent-filter> <data android:scheme="com.example.scheme" /> </intent-filter> 实比例如以下: <activity android:name=".BrowActivity" > <intent-filter> <a

android chrome iframe设置src属性无法启动app

0x01 Android Intents with Chrome Android有一个很少人知道的特性可以通过web页面发送intent来启动apps.以前通过网页启动app是通过设置iframe的src属性,例如: <iframe src="paulsawesomeapp://page1"> </iframe> 此方法适用version 18或者更早版本.其他android浏览器也适用. 这个功能在安卓chrome 浏览器version 25之后版本发生了改变

Android 通过网页打开自己的APP(scheme)

通过用手机的浏览器(内置,第三方都可)访问一个网页,实现点击一个链接启动自己的应用,并传递数据. 首先在Mainifest文件里面对要启动的Activity添加一个过滤器. <activity android:name="com.example.helloworld.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name=

Android应用安全开发之浅谈网页打开APP

一.网页打开APP简介 Android有一个特性,可以通过点击网页内的某个链接打开APP,或者在其他APP中通过点击某个链接打开另外一个APP(AppLink),一些用户量比较大的APP,已经通过发布其AppLink SDK,开发者需要申请相应的资格,配置相关内容才能使用.这些都是通过用户自定义的URI scheme实现的,不过背后还是Android的Intent机制.Google的官方文档<Android Intents with Chrome>一文,介绍了在Android Chrome浏览

Android AnimationDrawable动画与APP启动引导页面

Android AnimationDrawable动画与APP启动.加载引导页面(画面) AnimationDrawable是Android的Frame动画,可以简单的认为此AnimationDrawable能够将一系列资源图片加载成"电影"一样播放.当下,在一些APP中,往往需要在APP切入主题之前加载一些引导页面(宣传海报.装饰画面.赞助商广告等等),这些内容要两个共同特点: (1)不是APP的重点内容,而仅仅只是像展台一样展览一些画面. (2)前.当前.后页面基本上无特别需要处理

Android漫游记(6)---APP启动之旅(I)

Android基于Linux2.6+内核,我们看一张图,以对Android系统的架构有个感性的认识. 我们从Kernel层简单说明: 1.Kernel层:基于Linux2.6+内核,同时做了一些嵌入式环境做了一些针对性的优化调整. 2.Libraries层:包括Bionic C库,以及HAL(硬件驱动接口抽象)等API. 3.Android Runtime(ART)层:包含核心应用库和Dalvik虚拟机. 4.Application Framework层:纯JAVA的API框架,包括Activi

Android 从网页中跳转到APP

先说实现步骤再说原理: 使用步骤 一,首先要给你要打开的应用中的activity设置过滤器(在清单文件里设置) 以JumpActivity为例 如下面的: <intent-filter>  中就是所需过滤器 <activity android:name=".JumpActivity" > <intent-filter> <action android:name="android.intent.action.VIEW" /&g

Appium+Python 自动化测试之二:启动APP(Android篇)

前一篇写了环境安装,这篇记录是记录如何启动APP以及启动APP之前要做哪些事. Appium 启动APP至少需要5个参数,分别是'platformName','platformVersion','deviceName'.'appPackage'.'appActivity' 这几个参数如何得来的呢,下面一步一步为大家讲解 platformName,我们不是要玩Android app自动化测试吗,所以这个platformName值就是android: platformVersion就是Android

Android应用程序启动过程——Launcher源码分析

当我们在Launcher界面单击一个应用程序图标时就会启动一个程序,那这一个过程究竟发生了些哪样呢?让我们跟踪Launcher源码来分析一下吧. 先上流程图: step1.追踪Launcher  从源码中我们可以发现Launcher其实也是一个程序,它继承于Activity.找到该文件中的onCreate()方法,代码片段如下: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSta