
在我的应用程序中,我需要检测我的应用程序是要在后台运行还是要切换到同一应用程序的另一个活动…我知道我必须使用onPause方法…但是如何区分这两种情况?
谢谢!
解决方法:
private static boolean isApplicationGoingToBackground(final Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<RunningTaskInfo> tasks = am.getRunningTasks(1); if (!tasks.isEmpty()) { Componentname topActivity = tasks.get(0).topActivity; if (!topActivity.getPackagename().equals(context.getPackagename())) { return true; } } return false; }更新:已经声明getRunningTasks不保证准确性.
调用onStop. onStop在任何接管屏幕的onStart之后被调用-如果它是同一个apk包中的活动,则您不会进入后台.这确实需要GET_TASKS权限.
或绑定到onStart& unbind onStop-当您停止所有活动时,该服务将被onDestroyed(或者,如果您不想依靠onDestroyed来调用,则跟踪绑定与取消绑定-因为可能不会.).
总结以上是内存溢出为你收集整理的检测android应用何时返回backrgound全部内容,希望文章能够帮你解决检测android应用何时返回backrgound所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)