当用户点按应用时,我想在浏览器中打开一个网址。我有:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(browserIntent);
}
}
但这仅在您第一次打开应用时起作用。如果您导航回主页并重新打开应用程序,它将转到空白布局,应用程序的名称位于顶部。如何确保链接始终打开?
编辑: 我添加了onResume:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"));
startActivity(browserIntent);
}
protected void onResume(Bundle savedInstanceState) {
super.onResume();
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"));
startActivity(browserIntent);
}
}
答案 0 :(得分:1)
您可以在finish()
之后添加对startActivity(browserIntent)
的通话。在这种情况下,下次用户打开您的应用程序时,将始终调用您的活动的方法onCreate(...)
。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"));
startActivity(browserIntent);
finish();
}
}
答案 1 :(得分:0)
onCreate在创建活动时被调用,返回主菜单再次输入并不允许您从0重新创建活动。
如果您一直想要这种行为,请将代码移至onResume()
答案 2 :(得分:0)
使用onResume(),因为onCreate()方法只调用一次