我在我的资产目录中有一个html文件,我必须使用Intent将其作为浏览器应用程序加载。如何使用Android中的intent加载本地html页面?
这里是我的代码,但它不工作:
startActivity (new Intent(Intent.ACTION_VIEW,
Uri.parse("file:///android_asset/Sample.htm")));
谁能帮助我?
我在我的资产目录中有一个html文件,我必须使用Intent将其作为浏览器应用程序加载。如何使用Android中的intent加载本地html页面?
这里是我的代码,但它不工作:
startActivity (new Intent(Intent.ACTION_VIEW,
Uri.parse("file:///android_asset/Sample.htm")));
谁能帮助我?
使用loadUrl()
的WebView
方法如果faq.html常见存在于资产文件夹中的HTML文件,然后你可以使用
WebView html = (WebView) findViewById(R.id.webEulaView);
html.loadUrl("file:///android_asset/faq.html");
将被加载到WebView中。问题是如何从应用程序启动浏览器。 – 2012-08-28 00:15:15
我有同样的加载HTML页面
样本实施例 问题是我所做的是 将资产的内容复制到数据库,然后从SD卡中将其拉下来
这里是复制你的资产到SD卡 使用的逻辑如下的HTML页面放置在资产文件夹中的zip文件 内容是在此之后的zip资产文件夹
boolean succussFlag = false;
destination="";
destination=Environment.getExternalStorageDirectory()+"/";
File file = new File(destination);
if (!file.exists()){
file.mkdirs();
}
else
{
//file.delete();
//file.mkdir();
}
try
{
InputStream fileInput = context.getAssets().open("content.zip");
ZipInputStream inputStream = new ZipInputStream(fileInput);
for (ZipEntry entry = inputStream.getNextEntry(); entry != null; entry = inputStream.getNextEntry())
{
String innerFileName = destination + entry.getName();
System.out.println("destination::::"+innerFileName);
// Log.v("inner file name 0",""+innerFileName);
File innerFile = new File(innerFileName);
if (innerFile.exists())
{
innerFile.delete();
}
// Check if it is a folder
if (entry.isDirectory())
{
// Its a folder, create that folder
innerFile.mkdirs();
}
else
{
// System.out.println(" ::::::::::::::INNER FILE COPYING :::: " + innerFile.toString());
FileOutputStream outputStream = new FileOutputStream(innerFileName);
final int BUFFER = 4096;
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream,
BUFFER);
int count = 0;
byte[] data = new byte[BUFFER];
while ((count = inputStream.read(data, 0, BUFFER)) != -1)
{
bufferedOutputStream.write(data, 0, count);
}
bufferedOutputStream.flush();
bufferedOutputStream.close();
}
inputStream.closeEntry();
}
inputStream.close();
// System.out.println(" ::::::::::COPIED TO PRIVATE FOLDER :::: ");
succussFlag=true;
}
catch (IOException e)
{
// System.out.println("** EXCEPTION OCCURED WHILE COPYING***");
e.printStackTrace();
succussFlag=false;
}
return succussFlag;
的名称代码你给以下命令:
startActivity (new Intent(Intent.ACTION_VIEW,"file://"+ Environment.getExternalStorageDirectory()+"/content"+name_Html ;
);
必须比从资产复制文件到SD卡更简单的方法。这是没有意义的。 – 2012-08-28 00:16:20
你也可以简单的使用webview来显示。 – 2011-12-30 06:28:21