相关疑难解决方法(0)

如何检测Android应用程序何时进入后台并返回前台

我正在尝试编写一个应用程序,它会在经过一段时间后返回到前台时执行某些特定操作.有没有办法检测应用程序何时发送到后台或带到前台?

android background foreground

369
推荐指数
18
解决办法
27万
查看次数

从后台任务或服务确定当前前台应用程序

我希望有一个在后台运行的应用程序,它知道任何内置应用程序(消息,联系人等)何时运行.

所以我的问题是:

  1. 我应该如何在后台运行我的应用程序.

  2. 我的后台应用程序如何知道前台运行的应用程序是什么.

有经验的人的回应将不胜感激.

android android-service android-background

107
推荐指数
8
解决办法
10万
查看次数

检查android应用程序是否在前台?

我为这个问题找到了很多答案.但这都是关于单一活动的.如何检查整个应用程序是否在前台运行?

android

102
推荐指数
7
解决办法
12万
查看次数

如何检查活动是在前景还是在可见背景中?

我在计时器上有一个闪屏.我的问题是,在finish()我的活动之前,我需要检查下一个活动是否已经开始,因为系统对话框弹出,我只想finish(); 一旦用户从对话框中选择了一个选项?

我知道有很多关于如何查看您的活动是否在前台的问题,但我不知道这是否允许在活动之上设置对话框.

这是问题,红色是我的活动,它在后台,而对话在前台:

当对话在前景时,红色是我的活动

编辑:我已经尝试过不使用finish()但是我的活动可以回到我试图避免的应用程序堆栈中.

android dialog activity-finish android-activity

98
推荐指数
6
解决办法
18万
查看次数

如何判断Android应用程序是否在前台运行?

我在我的Android应用程序中执行状态栏通知,由c2dm触发.如果应用程序正在运行,我不想显示通知.您如何确定应用程序是否正在运行且位于前台?

android android-activity

81
推荐指数
9
解决办法
8万
查看次数

应用程序关闭时Android服务停止

我从我的主要Android活动开始提供服务,如下所示:

final Context context = base.getApplicationContext();
final Intent intent = new Intent(context, MyService.class);
startService(intent);
Run Code Online (Sandbox Code Playgroud)

当我通过从最近的应用程序列表中滑出来关闭活动页面时,服务会停止运行并在一段时间后重新启动.由于我的应用程序要求,我无法将持久服务与通知一起使用.如何使服务不重启或关闭,并继续在应用程序退出运行?

service android shutdown restart android-activity

70
推荐指数
6
解决办法
9万
查看次数

如何确定我的某个活动是否在前台

我已经实现了一个由AlarmManager触发的BroadcastReceiver.AlarmManager在BOOT_COMPLETED上初始化.所以我必须在清单中声明接收器.

我的问题是我希望BroadcastReceiver只在我自己的活动都不在前台时做某事(也就是说用户没有与我的应用程序交互).我从远程服务器提取信息,并且不想通知用户他当前是否在我的应用程序中.

到目前为止,我还没有找到一种方法来确定我的应用程序是否在前台.有没有办法做这样的事情?ActivityManager告诉我我的应用程序是否正在运行,但不是它是否在前台.

问题与此处描述的几乎相同:只有在广播接收器处于前台时才通知它

解:

在评估了几个解决方案后,我想快速概述一下我认为在后台/前台处理活动的最佳方法.

首选方法是在活动的onResume方法中注册广播接收器,并在onPause上的活动上注销它.任何服务或其他背景元素都需要通过您的活动将拦截的特定操作发送广播意图.

如果您的活动位于前台,它将使其意向接收者注册,并能够直接处理您的服务发送的意图.如果它不在前台,它将不会接收到意图,但是调用广播的服务将知道没有人截获其广播意图并且能够自己处理它.例如,它可以启动所需的活动,显示通知等.

android broadcastreceiver

59
推荐指数
2
解决办法
6万
查看次数

检查活动是否有效

我在某个活动中遇到了监听器的问题.

问题是这个监听器包含一个alert.show(); 在我们尝试推送新活动(然后给出例外)之后可以调用它.

例如:我正在通过活动A收听来自其他电话的信号.我按下然后尝试运行一个新的活动B,但程序因为alert.show()A的监听器而崩溃.

ERROR/AndroidRuntime(3573): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@476c21c0 is not valid; is your activity running?
Run Code Online (Sandbox Code Playgroud)

我是否可以在A的监听器中检查此活动是否处于活动状态,然后根据此值显示警告?

android

44
推荐指数
4
解决办法
8万
查看次数

自定义视图是否可以知道onPause已被调用?

我有一个自定义View运行一个Thread操作,它定期调用interwebs.我想知道是否有一种方法让我不必从父Activity(onPause)中删除该线程,以便Thread在后台(和/或被杀死)后不在后台进行铣削.

这里的意图是自定义View是自给自足的,不需要从Activity中进行额外处理.这样做的方法是让它在其父级被后台时监听,然后让它在线程中的无限睡眠循环到期.我没有看到这样做的方法,但我希望我忽略了一些东西.

multithreading android custom-view

34
推荐指数
4
解决办法
2万
查看次数

Android应用关闭/发送到后台时运行代码

我有一个Android应用程序,它将一些数据发送到Web服务.我需要在应用程序关闭或发送到后台后立即发送此数据.但我该如何实现此目的?

我目前的解决方案是在我的家庭活动上的OnPause()上运行它,但无论关闭应用程序时用户所处的活动,我都需要运行它.这是可能的还是我必须将OnPause方法添加到所有活动?

android

29
推荐指数
3
解决办法
6万
查看次数