您的位置:首页 > 移动开发 > Android开发

Android 如何使用浏览器去下载app和加载html

2015-05-07 14:38 543 查看
如何用手机浏览器去下载app?

package com.example.text;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

/**

* 启动浏览器去下载app

* 或打开网页

* @author androidstartjack

*

*/

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

findViewById(R.id.clickMyDown1).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

/**

* setAction方法设置指定那个浏览器启动:如

* 1. 系统默认浏览器 android.intent.action.VIEW

**/

Intent intent = new Intent();

intent.setAction("android.intent.action.VIEW");

Uri content_url = Uri.parse("http://gdown.baidu.com/data/wisegame/3c00add7144d3915/kugouyinle.apk");

intent.setData(content_url);

intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");

startActivity(intent);

}

});

/**

* 2、启动其他浏览器(当然该浏览器必须安装在机器上)

*  (“com.android.browser”:packagename;“com.android.browser.BrowserActivity”:启动主activity)

*

*/

findViewById(R.id.clickMyDown2).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

/**

* setAction方法设置指定那个浏览器启动:如

* 1. 系统默认浏览器 android.intent.action.VIEW

**/

Intent intent = new Intent();

intent.setAction("android.intent.action.VIEW");

Uri content_url = Uri.parse("http://gdown.baidu.com/data/wisegame/3c00add7144d3915/kugouyinle.apk");

intent.setData(content_url);

//intent.setClassName("com.uc.browser", "com.uc.browser.ActivityUpdate");

startActivity(intent);

}

});

/**

* 用浏览器加载本地html

*/

// uc浏览器":"com.uc.browser", "com.uc.browser.ActivityUpdate"

//  opera:"com.opera.mini.android", "com.opera.mini.android.Browser"

// qq浏览器:"com.tencent.mtt", "com.tencent.mtt.MainActivity"

findViewById(R.id.clickMyDown3).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = new Intent();

intent.setAction("android.intent.action.VIEW");

Uri content_url = Uri.parse("content://com.android.htmlfileprovider/sdcard/user_treaty.html");

intent.setData(content_url);

//intent.setClassName("com.uc.browser", "com.uc.browser.ActivityUpdate");//启动uc浏览器

//intent.setClassName("com.opera.mini.android", "com.opera.mini.android.Browser");//启动opera

//intent.setClassName("com.tencent.mtt", "com.tencent.mtt.MainActivity");//启动qq浏览器:

intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");//启动默认的浏览器

startActivity(intent);

}

});

}

/*

* 注意:

*

* 关键点是调用了”content“这个filter。

以前有在win32编程的朋友,可能会觉得用这种形式”file://sccard/help.html“是否可以,可以很肯定的跟你说,默认的浏览器设置是没有对”file“这个进行解析的,如果要让你的默认android浏览器有这个功能需要自己到android源码修改manifest.xml 文件,然后自己编译浏览器代码生成相应的apk包来重新在机器上安装。

大体的步骤如下:

1、打开 packages/apps/Browser/AndroidManifest.xml文件把加到相应的<intent-filter>后面就可以了

<intent-filter>

<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />

<category android:name="android.intent.category.BROWSABLE" />

<data android:scheme="file" />

</intent-filter>

2、重新编译打包,安装,这样子,新的浏览器就支持”file“这个形式了。*/

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐