在android app oncreate中打开url(仅在某些时候有效)

时间:2014-03-20 07:42:41

标签: android web

当用户点按应用时,我想在浏览器中打开一个网址。我有:

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);

    }
}

3 个答案:

答案 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()方法只调用一次