Android从对话框启动浏览器
我有一个地图视图,它显示一个逐项覆盖,每个onTap事件都显示一个对话框,其中包含有关旅行社的信息和三个按钮,其中一个按钮应该在浏览器中打开旅行社网站,但当我单击我得到的按钮时:找不到处理意图的活动 这是我的密码:Android从对话框启动浏览器,android,android-activity,dialog,itemizedoverlay,Android,Android Activity,Dialog,Itemizedoverlay,我有一个地图视图,它显示一个逐项覆盖,每个onTap事件都显示一个对话框,其中包含有关旅行社的信息和三个按钮,其中一个按钮应该在浏览器中打开旅行社网站,但当我单击我得到的按钮时:找不到处理意图的活动 这是我的密码: protected boolean onTap(int i){ float[] results = new float[1]; Location.distanceBetween(decdegrees(appState.getMyLocation().getLatitu
protected boolean onTap(int i){
float[] results = new float[1];
Location.distanceBetween(decdegrees(appState.getMyLocation().getLatitudeE6()), decdegrees(appState.getMyLocation().getLongitudeE6()), decdegrees(points.get(i).getPoint().getLatitudeE6()), decdegrees(points.get(i).getPoint().getLongitudeE6()), results);
float distance = results[0]/1000;
DecimalFormat maxDigitsFormatter = new DecimalFormat("#.#");
String infos=points.get(i).getSnippet() + "#" + String.valueOf(maxDigitsFormatter.format(distance));
final String [] AInfos = infos.split("#");
final Dialog ADialog = new Dialog(c);
ADialog.setContentView(R.layout.travelagency);
TextView txtAgence = (TextView)ADialog.findViewById(R.id.txtAgence);
TextView txtAddress = (TextView)ADialog.findViewById(R.id.txtAddress);
TextView txtDistance = (TextView)ADialog.findViewById(R.id.txtDistance);
TextView txtFax = (TextView)ADialog.findViewById(R.id.txtFax);
Button btnCall = (Button)ADialog.findViewById(R.id.btnCall);
Button btnWebSite = (Button)ADialog.findViewById(R.id.btnWebSite);
Button btnCancel = (Button)ADialog.findViewById(R.id.btnCancel);
ADialog.setTitle(AInfos[0]);
btnCall.setText("Appeler : " + AInfos[2]);
txtAgence.setText(AInfos[1]);
txtDistance.setText("Approximativement à : " +AInfos[6] + " Km");
txtAddress.setText("Adresse : " + AInfos[3]);
txtFax.setText("Fax : " + AInfos[4]);
ADialog.show();
btnCancel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
ADialog.dismiss();
}
});
btnWebSite.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent myIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(AInfos[5]));
v.getContext().startActivity(myIntent);
}
});
return (true);
}
我找到了一些例子,但突然间对我不起作用
谢谢这将创建在默认浏览器中打开网页的正确意图:
Uri url = Uri.parse("http://www.someUrl.com");
Intent intent = new Intent(Intent.ACTION_VIEW, url);
startActivity(intent);
很可能您的
AInfos[5]
不是正确的url。硬编码url,如http://www.google.com
先查看它是否工作。还可以打印AInfos[5]包含的内容。是的,我看到了代码“btnWebSite.setOnClickListener(new-OnClickListener(){public void-onClick(View v){Intent-myIntent=new-Intent(Intent.ACTION_-View,Uri.parse(AInfos[5]);v.getContext().startActivity(myIntent);}”如果我删除v.getContext,它会导致其他错误调试应用程序并确保AInfos[5]是url您是对的,AInfos[5]是空值,因此当我传递正确的url时,它可以工作,但使用以下命令:v.getContext().startActivity(myIntent)非常感谢您