Java 在onPostExecute()方法中启动浏览器意图
在主要活动中:Java 在onPostExecute()方法中启动浏览器意图,java,android,multithreading,android-intent,Java,Android,Multithreading,Android Intent,在主要活动中: download.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ThreadProcess threadProcess = new ThreadProcess(); threadProcess.execute(); 在ThreadProce
download.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ThreadProcess threadProcess = new ThreadProcess();
threadProcess.execute();
在ThreadProcess类(extends
AsyncTask)中,我正在重写方法onPostExecute()
,以启动浏览器。我不能这样做。请帮助。试试这个:
@Override
protected void onPostExecute(String s) {
String url = "https://www.stackoverflow.com";
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setData(Uri.parse(url));
startActivity(browserIntent);
}
download.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent openWebsite = new Intent(Intent.ACTION_VIEW, Uri.parse("www.myWebsite.com")); //Insert website.
startActivity(openWebsite);
}
});
添加
ThreadProcess
实现和eror日志问题在于ThreadProcess
已在另一个Java文件中定义,与MainActivity不同。谢谢。在ThreadProcess中创建一个构造函数,它接受上下文作为参数,并从MainActivity传递它。然后在onPostExecute中,可以调用context.startActivity(BrowserContent)