Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 前进按钮功能_Android - Fatal编程技术网

Android 前进按钮功能

Android 前进按钮功能,android,Android,我可以在android应用程序中提供转发按钮的功能吗。对于web应用程序,URL和会话id存储在堆栈中,因此我们可以提供此功能。但是,我们能否在使用活动的移动应用程序中提供类似的功能。如果是,那么相同功能的含义是什么 如果我不停止我的活动,那么它不会产生内存问题吗 谢谢..首先,我想您需要将每个活动的启动模式设置为SingleTop。其次,您需要停止“后退”按钮调用onDestroy,让它执行startActivity,并将意图设置为下面的活动的类别。是的,我认为这非常简单 因此,如果您使用的是

我可以在android应用程序中提供转发按钮的功能吗。对于web应用程序,URL和会话id存储在堆栈中,因此我们可以提供此功能。但是,我们能否在使用活动的移动应用程序中提供类似的功能。如果是,那么相同功能的含义是什么

如果我不停止我的活动,那么它不会产生内存问题吗


谢谢..

首先,我想您需要将每个活动的
启动模式
设置为
SingleTop
。其次,您需要停止“后退”按钮调用
onDestroy
,让它执行
startActivity
,并将
意图设置为下面的
活动的类别。

是的,我认为这非常简单

因此,如果您使用的是Android 2.0,则有一个函数

活动中有一个名为onBackPressed()的函数。如果您的所有活动都覆盖了这一点,请执行以下操作:

public void onBackPressed() { 
 Intent intent = getIntent();
 MyAccessableStorageFacility.storeForwardIntent(intent);
 super.onBackPressed();
}


public void onCreateOptionsMenu(Menu menu) {
 menu.add("Forward").setIntent(MyAccessableStorageFacility.getLastIntent());
 super.onCreateOptionsMenu(menu);
}

如果您没有Android 2.0,只需覆盖onKeyPressed方法而不是onBackPressed方法,然后查找back按钮的keycode,并编写相同的代码来保存最后的意图。

您可以重新表述您的问题吗?很难理解到底发生了什么。我想他想在活动中前后移动,就好像它们是网页一样。什么是MyAccessableStorageFacility类?如果我不停止我的活动,那它不会造成记忆问题吗?我认为格雷格的回答有缺陷,不像我的
简要解释那样。该类只是Greg创建的一个伪类,用于处理存储活动,以便您知道要来回访问哪个。我相信他的答案只会不断创造新的活动。MyAccessableStorageFacility可以是一个存储您的意图或其他机制的单例。也不,它不会泄露活动。超级后退按钮功能用于完成活动。所以没有泄漏:)不终止活动也不会产生内存问题。泄漏上下文引用是有问题的。你为什么发布我发布的内容。顺便说一句,
onBackPressed
是从API 5开始的,即2.0。抱歉,内存已关闭。感谢1.5删掉了我脑袋里的5,不管怎样,我不知道你已经用你全能的智慧回答了。我想你提交的时候我正在编辑我的回复。下一次我会一遍又一遍地刷新,直到我发现你的回答可能会也可能不会给我们一个简短的解释:)或者我们可以冷静下来,不把生活看得那么严肃:)我想不会,因为你刚刚-我在很久以前的一篇文章上看到我。笑死我了。顺便说一句,stackoverflow在页面顶部粘贴了一个条,告诉你其他人正在发布答案……顺便说一句,我将你的答案重新标记为+1,然后标记为-1,所以我将其保留为+1。但是,您是否测试过代码是否没有启动新的活动?这就是我调用super的原因。可以安全地启动新活动:),因为onBackPressed()的默认impl将调用finish()。没有太多的背景,我不知道有什么更安全的方法。FWIW,我认为我们的回答都可以接受。我只是喜欢提供代码,因为对于像我们这样的偷窥者来说,很多时候代码比文字更清晰:)