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“这个形式了。*/
}
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“这个形式了。*/
}
相关文章推荐
- Android开发实践经验谈:如何让各式手机浏览器可以直接下载apk安装文件且实现自动安装APP
- Android&iOS:如何在外部启动app(若有安裝APP, 则自动启动app(使用 URL Schema), 若没有安装, 则询问是不是到应用市场下载)
- 【Android进阶】Yelp app是如何使用Glide优化图片加载的
- Yelp app是如何使用Glide优化图片加载的
- Android App中使用Glide加载图片的教程
- Android 如何在一个app中动态加载另一个app程序中的类
- android 使用volley下载文件和加载gif图片
- [Android] 使用 WebView 加载网页而不调用外部浏览器
- android 如何动态的加载类----app插件技术
- 一行代码不用敲,15分钟轻松搞定GIS开发,GISer福音,教你如何从下载到使用webappbuilder创建第一个应用程序(不用申请有使用期限的企业账号哦!)
- HTML---android webview组件如何使用 Webview与js交互
- 如何使用 Chrome 浏览器调试动态加载的 Javascript 脚本
- android 了解你的APP如何使用内存
- Android使用WebView加载网页屏蔽系统浏览器的方法
- android intent filter浏览器应用的设置,如何使用choose-box选择应用
- 一行代码不用敲,15分钟轻松搞定GIS开发,GISer福音,教你如何从下载到使用webappbuilder创建第一个应用程
- 大陆网络下如何快速使用Android SDK Manager进行联网更新和下载
- 如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)