相关疑难解决方法(0)

如何检查我的小部件屏幕何时在像 Android 中的 onResume 这样的颤动中可见

在android中,如果活动可见,onResume则调用。什么是相当于方法onResume颤振

我需要知道我的小部件屏幕何时可见,以便我可以根据它自动播放视频。我可能会转到另一个小部件屏幕,当我回来时它应该会自动播放。

我的方法是播放视频,didUpdateWidgetdidUpdateWidget每次即使小部件屏幕不可见也会被调用。

注意:我不是在问didChangeAppLifecycleStatefromWidgetsBindingObserver因为它为onResume应用程序生命周期提供等回调而不是特定的小部件屏幕。

android flutter

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

onPause/onResume活动问题

我有一个小的测试应用程序我正在使用它有一个计时器,将textview更新从100倒数到0.这很好,但现在我试图暂停应用程序,如果用户按下手机上的后退按钮然后从他们重新打开应用程序时停止的位置重新启动计时器.这是我正在使用的代码:

@Override
public void onPause()
{
    if(this._timer_time_remaining > 0) {
        this.timer.cancel();
    }
    super.onPause();
    Log.v("Pausing", String.format("Pausing with %d", this._timer_time_remaining));
}

@Override
public void onResume()
{
    Log.v("Resuming", String.format("Resuming with %d", this._timer_time_remaining));

    if(this._timer_time_remaining > 0) {
        start_timer(this._timer_time_remaining);
    }
    super.onResume();
}
Run Code Online (Sandbox Code Playgroud)

start_timer()方法创建一个CountDownTimer,它更新onTick方法中的textview并更新this._timer_time_remaining int变量.

CountDownTimer和_timer_time_remaining都在类级别声明,如下所示:

private CountDownTimer timer;
private int _timer_time_remaining;
Run Code Online (Sandbox Code Playgroud)

从Log.v()打印我看到_timer_time_remaining变量在调用onPause时存储了正确的秒数,但是在onResume启动时它被设置回0.为什么变量会被重置?我认为应用程序将继续在后台运行相同的值.我错过了什么吗?这都是在扩展Activity的类中声明的.

提前致谢!

注意:编辑清理代码复制

android timer

14
推荐指数
1
解决办法
7万
查看次数

标签 统计

android ×2

flutter ×1

timer ×1