我正在尝试编写一个应用程序,它会在经过一段时间后返回到前台时执行某些特定操作.有没有办法检测应用程序何时发送到后台或带到前台?
有没有简单的方法来确定某项活动是否有效?我想根据哪些活动是活跃的来做某些事情.例如:
if(activityrunning == activity1)
//do this
else if (activityrunning == activity2)
//do something else
Run Code Online (Sandbox Code Playgroud) 我有一个自定义View运行一个Thread操作,它定期调用interwebs.我想知道是否有一种方法让我不必从父Activity(onPause)中删除该线程,以便Thread在后台(和/或被杀死)后不在后台进行铣削.
这里的意图是自定义View是自给自足的,不需要从Activity中进行额外处理.这样做的方法是让它在其父级被后台时监听,然后让它在线程中的无限睡眠循环到期.我没有看到这样做的方法,但我希望我忽略了一些东西.
这个问题比编码相关更具概念性.
我有一个ActivityA和B 的应用程序
我打电话AsyncTask给ActivityA,在打电话的时候,我不想阻止用户显示progressdialog,所以我的用户可以自由地移动应用程序而不会厌倦等待.
现在,查询是AsyncTask或者说Service是从ActivityA 调用,它负责从服务器下载某种数据.在进行呼叫时,用户已经改变了,Activity而ActivityA已经进入后台.
现在,当用户在应用程序中自由移动时,他只想回到ActivityA来检查下载状态(这可以说是我向我设置了一些数据TextView).
现在问题是,一旦下载结束,当我的ActivityA仍处于后台时,我的UI应该在Activity仍处于后台时进行更新.这样,用户感觉他在切换到ActivityA 之前获取数据.
这有可能,如果是这样的话怎么样?总结我的问题,我可以更新的用户界面Activity,而它仍然在后台用Asynctask或Service它的Activity调用来从服务器获取数据.
一篇帖子建议理想情况下我需要更新**UI onResume().我的问题是,这是唯一的方法吗?
我创建了一个服务,它从一个活动的onCreate开始,并停止在activity的onDestroy方法上.现在我必须从服务的方法中检查活动是否在前台/后台运行(对于某些情况,例如应用程序被强制关闭).我怎样才能做到这一点?
我需要这样做,因为我知道如果任何应用程序被强制关闭或任何类型的崩溃,无法保证调用活动的onDestroy方法.因此,我的活动启动时启动的服务不会在任何崩溃或任何强制关闭事件后停止.
我已经看到了可以检查前台活动的链接.但我需要在任何状态(前景或后台)检查正在运行的活动
我有三个活动: - SplashActivity - MainActivity - PlayerActivity
当然应用程序以SplashActivity开头,然后启动MainActivity并关闭.MainActivity在某个时刻启动了PlayerActivity并进入了Backstack.(MainActivity还活着但是在onStop上)然后我需要打开MainActivity并将PlayerActivity设置为后台(PlayerActivity是活着的但是在onStop上).然后我需要再次打开PlayerActivity并将MainActivity设置为background.
因此,当app将一个切换到另一个并返回时,PlayerActivity和MainActivity经常在没有onDestroy的情况下获得onPause()和onStop().
每次当用户按下"home"按钮时,我需要完成所有活动并启动SplashActivity应用程序,但主页按钮与活动之间的切换(onPause()和onStop())相同.所以我无法发现杀死活动的不同之处.
请帮忙.
编辑: 不幸的是,onUserLeaveHint没有帮助,它是一样的.如果User推送HOME,则调用:
onUserInteraction,onUserLeaveHint,onPause,onStop
此活动返回上一个活动(主),没有任何用户操作.
public class PlayerActivity扩展Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_next);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(PlayerActivity.this, MyActivity.class));
}
}, 5000);
}
Run Code Online (Sandbox Code Playgroud)
}
但仍然有相同的:
onUserInteraction,onUserLeaveHint,onPause,onStop
android activity-lifecycle android-lifecycle android-activity
我已按照此指南将Android应用程序连接到Google Firebase云消息服务(FCM),
我可以成功接收从FCM控制台发送的消息,而不是从AWS SNS控制台发送的消息。
在AWS上登录的消息传递状态对我发送的每条消息均显示SUCCESS,而在设备上未显示任何通知。
有没有办法检查发生了什么?
我有一个android应用程序,我需要一个功能或任何广播接收器,可以检查应用程序是否关闭。.我不需要在每个活动中调用destroy(该应用程序中大约有20个活动)应用程序类中的功能
public class ApplicationLifeCycleManager implements ActivityLifecycleCallbacks {
/** Manages the state of opened vs closed activities, should be 0 or 1.
* It will be 2 if this value is checked between activity B onStart() and
* activity A onStop().
* It could be greater if the top activities are not fullscreen or have
* transparent backgrounds.
*/
private static int visibleActivityCount = 0;
/** Manages the state of opened vs closed activities, should be 0 or 1 …Run Code Online (Sandbox Code Playgroud) android android-lifecycle android-activity android-activitymanager