我有一个应用程序,在其中我要从我的main activity调用ACTION_SEND意图。 一切正常,但是当我从ACTION_SEND意图返回我的主活动时, main activityonCreate()方法开始执行,但我希望从onRestart()方法开始。 我认为OS杀死了我的活动以释放空间。 那么,有什么方法可以使用Service来阻止OS杀死我的活动吗?

===============>>#1 票数:0

我认为操作系统会杀死我的活动以释放空间

可能吧。 您可能自己在做一些事情来破坏您的活动(例如,在为您的ACTION_SEND Intent调用startActivity()之后,调用finish() )。

那么,有什么方法可以使用Service来阻止OS杀死我的活动吗?

否。即使是服务也可能无济于事。 您的过程可以由于任何原因随时终止,包括用户决定通过任务管理器或“近期任务”列表终止过程。 另外,如果用户在通过ACTION_SEND启动的任何应用中旋转屏幕或引起其他配置更改,由于配置更改,将重新创建名为ACTION_SEND startActivity()活动。

您不能假定onRestart()将被调用。 通常,仅出于这个原因,我认为onRestart()是一种代码味道。

  ask by Vikalp translate from so

未解决问题?本站智能推荐:

1回复

获取正在运行的进程列表并杀死特定进程

我正在执行以下代码: 然后,我杀死了一个我感兴趣的进程 其中process是procInfos的条目。 问题是如果我再次运行getRunningTasks它仍然会显示我(大概)已杀死的进程,而Android的任务管理器在调用killBackgroundProcesses之前
2回复

我每秒如何杀死一个进程?

我如何每秒都可以杀死一个进程。我想设置一个计时器,它将每秒检查一次进程是否已启动,并通过其程序包名称继续杀死该特定进程
2回复

杀死后台进程以节省电量的Android应用

我正在编写Andoid应用程序,以便当电池寿命低于特定水平时,出现一个对话框,其中包含有关如何节省电池的选项。 这些选项之一是使用ActivityManager.killBackgroundProcesses()关闭所有后台应用程序/服务(进程ActivityManager.killBackg
1回复

Android杀死后台进程并关闭应用程序

我目前有两个应用程序。 应用程序A列出了可以单击并打开的现有应用程序。 包括哪个是AppB。现在,我只想在一定的时间范围内(约30分钟)运行AppB。 有没有一种方法可以自动关闭App B并重新打开App A? 我想完全关闭AppB。有点像当您按下Android上的软按钮并通过向
8回复

如何通过单击Android中的“后退”按钮杀死进程?

我在android上做了一个应用程序,它是一个与timer有关的应用程序。现在我已经尝试了很多将android设备的后退按钮放在控件上的操作,当按下该按钮时应该杀死进程并直接显示主菜单...请帮帮我...谢谢你..!
1回复

Android从C ++终止子进程失败

我的Java代码使jni调用了c ++函数(function0); C ++代码然后开始一个过程: 当我尝试通过从活动onStop()调用kill_sub_process函数杀死子进程时,logcat中会显示以下错误,并且应用程序崩溃: TID 3844中的致命信号4(SIG
1回复

停止在子进程中执行的android logcat

我正在编写一个ruby脚本,在其中我要在子进程中执行android logcat -v time命令,并在一段时间后杀死该进程(当父级完成xyz时)。 例如,我有:childpid = Process.fork { adb -s <device-serial> logcat -
1回复

Android中Kill进程或End Process的其他解决方案

我花了1个月的时间搜索这个主题。 如何杀死Android中其他应用程序的进程。 我发现的所有解决方案都不能解决我的问题: 阻止用户启动不在我列表中的应用。 我尝试: 但是什么也没发生。 那么,如何设置背景或结束活动? 我正在开发4.4.x andr
1回复

是否有Android Intent指示杀死我的后台服务(或主进程)?

是否有Android Intent指示我的后台服务(或主进程)被杀死了? 例如,由于系统内存不足等 如果它们被杀死,我想让它们重新启动。
2回复

如何杀死第三方应用程序?

我的程序需要杀死一个特定的应用程序。 是否可以在股票,无根设备上? 如果是 - 如何? 我知道它的进程名称和PID。