我创建了一个应用程序来简单地打开Web浏览器并转到特定网站。然而,在它第一次运行后,如果我去另一个应用程序并再次运行应用程序,除黑屏外我什么也得不到。我知道我可以从网络浏览器中找到该页面,但是我想知道在我启动应用程序时是否有办法将内容恢复,用户可以从他/她停止的地方恢复工作。
这是我的代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/** setup the url and start a browser with
* the hotmial.com and return to the user
* */
String url = "http://www.hotmail.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
谢谢你们
答案 0 :(得分:3)
查看活动lifecycle。您可能希望将您的意图移动到OnStart(),以便在应用程序停止后返回到前台。
答案 1 :(得分:2)
第二次运行应用时,活动可能仍然存在;可能onCreate
未被调用。
在您抛出Intent以运行浏览器之后,请关闭活动以便每次都发生onCreate
。
如果您的应用程序仅用于提供网站链接,我认为这是一个很大的开销。 Android用户可以在桌面上创建他们想要的任何网站的快捷方式,快捷方式图标显示在网站角落的网站上。
答案 2 :(得分:0)
如果要在应用程序外打开浏览器,请尝试此操作。我知道这似乎是一个简单的(和琐碎的)编辑,但我从来没有遇到过以这种方式设置它的问题。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/** setup the url and start a browser with
* the hotmial.com and return to the user
* */
String url = "http://www.hotmail.com";
Uri uri = Uri.parse(url);
Intent i= new Intent(Intent.ACTION_VIEW, uri);
startActivity(i);
}
答案 3 :(得分:0)
为什么不使用android.webkit.WebView,它允许您直接浏览应用中的网页。只要应用程序正在运行,Web内容就会保持持久性。关于您的应用程序停止的可能性,您可以使用WebView.getURL()保存URL,这将允许您在下次启动应用程序时从您离开的位置继续。如果这是你想要做的,请告诉我,我会发布一些示例代码。