我正在做一个项目,我必须通过我的Android应用程序调用浏览器,但当我调用它时,应用程序停止。
可以在此处找到代码:https://github.com/coppetti/android-pulsometer
但是为了快速查看,我有一个“Pulsometro”类
public void onPreviewFrame(byte[] data, Camera cam) {
...
Browser browser = new Browser();
browser.callBrowser(beats);
return;
...
}
和一个浏览器类,其中:
public class Browser extends Activity{
public void callBrowser(int beats){
String url = "http://www.higia.info/?q="+beats;
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
return;
}
}
有一种方法可以调用浏览器,我的应用程序不会中断吗?
答案 0 :(得分:1)
试试这个:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onOpenWebBrowser(View v)
{
Intent webPageIntent = new Intent(Intent.ACTION_VIEW);
webPageIntent.setData(Uri.parse("https://www.google.co.in/"));
try {
startActivity(webPageIntent);
} catch (ActivityNotFoundException ex) {
}
}
答案 1 :(得分:0)
不要只是随机选择超类。不要只创建Activity
的某个子类并期望它能够正常工作。
将您的callBrowser()
方法转移到一些真正的Activity
实现中,并完全摆脱Browser
。
或者,从Browser
移除超类,让callBrowser()
取Context
作为参数,然后在startActivity()
上调用Context
。
答案 2 :(得分:0)
试试这堂课。调用callBrowser
方法并为Activity
参数提供context
。
public class Browser{
public void callBrowser(Context context, int beats){
String url = "http://www.higia.info/?q="+beats;
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
context.startActivity(i);
}
}