在浏览器中打开链接?
我一直在试图用浏览器打开一个kml文件的链接。这样,当它进入链接时,它将下载并在Google地图(或Google地球)中打开文件。但是,当我在模拟器中点击它时,似乎没有任何事情发生。有任何想法吗?在浏览器中打开链接?
package shc_BalloonSat.namespace;
import android.content.Intent;
import android.net.Uri;
public class dl_viewKML
{
void downloadFile()
{
String encodedURL = "http://" + "www.wktechnologies.com/shc_android_app/data.kml";
Intent webIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(encodedURL));
startActivity(webIntent);
}
private void startActivity(Intent webIntent)
{
// TODO Auto-generated method stub
}
}
Eclipse不会显示任何问题,并且它不会在LogCat中显示任何内容。
对于该方法startActivity()
开始你Intent
你必须无论是从Context
类或子类(如活动,FragmentActivity)调用或获取上下文的引用,并调用它。
因为您的类dl_viewKML
不是Context
的子类,所以您必须获取对上下文的引用。你实例的dl_viewKML
类,你会做这样的事情
package shc_BalloonSat.namespace;
import android.content.Intent;
import android.net.Uri;
public class dl_viewKML {
private Context ctx
public dl_viewKML(Context ctx) {
this.ctx = ctx;
}
void downloadFile()
{
String encodedURL = "http://" + "www.wktechnologies.com/shc_android_app/data.kml";
Intent webIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(encodedURL));
ctx.startActivity(webIntent);
}
}
在你Activity
:
dl_viewKML obj = new dl_viewKML(this);
或
您可以通过添加一个构造带Context
参数像这样这样做
dl_viewKML obj = new dl_viewKML(getApplicationContext());
谢谢,它得到它的工作。现在,如果我只想知道如何在Google地图中打开它,而不是在浏览器中显示文本。 – tylerbhughes 2012-01-29 11:09:50
@RandomlyKnighted我没有Google地图的使用经验,但尝试用Uri.parse(“geo:0,0?q =”+ encodedURL)替换'Uri.parse(encodedURL) – Luksprog 2012-01-29 11:57:26
提供更多信息。 – JoxTraex 2012-01-29 08:22:03
你想要什么信息?它什么都不做。我点击调用这个函数的按钮,它什么也不做。 LogCat中没有显示任何内容,控制台中没有显示任何内容。就好像我没有甚至没有点击按钮。为什么不打开这个链接? – tylerbhughes 2012-01-29 08:31:50
您是否确定它通过日志实际进入该方法? – JoxTraex 2012-01-29 08:32:43