标签: onpause

Android后退按钮行为

假设我们有一个带默认行为的默认空活动,使用默认意图标志启动.用户按下设备上的后退按钮.活动消失......但实际上怎么样?

  • 按下按钮的行为方式是否相同finish()
  • 活动是否被立即销毁(onDestroy被称为)?
  • 是否保证活动被销毁,但不能立即销毁?
  • 是否有可能不会销毁活动,并且在将来启动此活动时将重复使用此实例?(所以只有onPauseonStop- > onStartonResume被称为?)

我正在寻找一个可靠的答案,所以如果你不完全确定这里发生了什么,请不要回答.

android onresume ondestroy onpause android-activity

11
推荐指数
1
解决办法
9637
查看次数

屏幕锁定和解锁后,画布绘制功能无效

我正在开发一个增强现实应用程序,其中我有一个摄像头预览屏幕,我在其上绘制了一些相对于设备移动而移动的标记.

当我lock and unlock在设备上时,标记会冻结并且不会进一步移动.我无法找到发生这种情况的原因.这有什么可行的解决办法吗?任何帮助将不胜感激.

我的SurfaceView类:

    public class CameraSurface extends SurfaceView implements SurfaceHolder.Callback
    {
    private static SurfaceHolder holder = null;
    public static Camera camera = null;
    Activity ctx;

    public CameraSurface(Activity context) {
        super(context);
        ctx=context;

        try {
            holder = getHolder();
            holder.addCallback(this);
            holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public CameraSurface(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);

    }

    public CameraSurface(Context context, AttributeSet attrs) {
        super(context, attrs);

    }


    @Override
    public void surfaceCreated(SurfaceHolder holder) {
        try {
            if …
Run Code Online (Sandbox Code Playgroud)

android canvas onresume onpause

11
推荐指数
1
解决办法
930
查看次数

Why am I getting "Unable to pause activity IllegalStateException: Restarter must be created only during owner's initialization stage" in Android?

I am using a FragmentActivity and sometimes on Crashlytics, I am able to see an exception Fatal Exception: java.lang.RuntimeException: Unable to pause activity

Below is the onPause of my FragmentActivity

@Override
protected void onPause() {
    super.onPause();
    if (EventBus.getDefault().isRegistered(this))
        EventBus.getDefault().unregister(this);
}
Run Code Online (Sandbox Code Playgroud)

Here is the stack trace of this crash.

Fatal Exception: java.lang.RuntimeException: Unable to pause activity {com.avail.easyloans.android/com.avail.easyloans.feature.marketplace.activities.ActivityMarketplace}: java.lang.IllegalStateException: Restarter must be created only during owner's initialization stage
       at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3471)
       at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3430)
       at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3402)
       at android.app.ActivityThread.access$1300(ActivityThread.java:151)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1416)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:157) …
Run Code Online (Sandbox Code Playgroud)

android android-lifecycle illegalstateexception onpause android-fragmentactivity

11
推荐指数
0
解决办法
861
查看次数

在应用程序/任务级别获取onPause&onResume事件

我想知道当应用程序进入后台并进入前台时,在应用程序级别没有回调的原因是什么.Activityclass's onPause并且onResume仅在当前的顶级活动中调用.如果我想停止一些具有应用程序级别范围的后台任务,那么当应用程序进入后台时,我没有简单的方法可以阻止它.对这些事件回调的需求很高.

为什么Android在暂停和恢复应用程序时没有应用程序级回调?如果不是在应用程序级别,它可以在任务(活动堆栈)级别在Android中实现吗?

真正的问题:

后台Timertask定期刷新来自Web的数据的UI.当应用程序不再处于前台时,我想停止它.

目前我正在将重复代码放入BaseActivity.这是活动水平.任务在每次活动的每次暂停和恢复时停止和开始,应用程序转到bg或来到fg的事件隐藏在其中一个事件中,我无法知道.我想知道是否有更好的方法,我的意思是知道应用程序何时停止对用户可见.

android onresume onpause

10
推荐指数
1
解决办法
3288
查看次数

确定Android暂停的原因

我的应用程序是随机暂停(进入onPause方法)然后恢复(进入onResume方法),当我甚至没有触摸屏幕.在logcat中,没有指示导致暂停和恢复的原因.这只发生在Galaxy Tab 7"而不是Motorola Xoom或HTC Legend上.

如何确定暂停的原因?

android onresume onpause

9
推荐指数
1
解决办法
2019
查看次数

Android手机的锁定屏幕会导致几个后续的onPause/onResume事件

我在Android上进行开发时遇到了这种有点奇怪的行为,在我的谷歌搜索中,我能找到的唯一答案是这是设计的,我不应该关心它.

我的应用程序在活动时获取位置数据,我打算通过在调用onPause事件时停止位置更新来实现保留电池的方法,并在调用onResume事件时稍后恢复提取.

在调试时,我注意到锁定手机时出现这种奇怪的行为,onPause-> onResume被一个接一个地调用三次或更多次,然后以onStop事件结束.我能找到的唯一答案就是:这就是android的工作方式,没关系.

我想我很好奇,有人可以解释我需要多次停止并恢复一个简单的子活动吗?这不会消耗更多的电池,特别是对于在onResume中有严重代码的大型活动吗?有没有办法防止这种情况发生?只要知道至少我在这些事件中的代码没有被调用,我会很高兴,可能使用if {}块来防止不必要的CPU周期.

非常感谢任何见解!

android onresume onpause

9
推荐指数
1
解决办法
1227
查看次数

如何检测Android应用程序何时最小化?

如何检测Android应用程序何时进入后台?onPause() 或 onUserLeaveHint() 有效,但也会在方向更改或呈现其他活动时调用。

android minimize onpause android-activity

8
推荐指数
2
解决办法
6808
查看次数

onPause/onRestore with savedInstanceState

我是Android开发的新手,我需要一些帮助来保存活动的状态.从onPause保存实例并从onRestore恢复实例的正确方法是什么,因为很明显Android并没有像onCreate或onSaveInstanceState那样发送savedInstanceState Bundle.或者除了使用savedInstanceState包之外还有更好的方法来保存吗?

这有意义吗?

[编辑]好吧,我想我知道我的真正问题是什么......但首先,我认为我所寻找的是使用SharedPreferences而不是savedInstanceState.

所以,做更多的调试日志观察我注意到,不是将Activity带到堆栈顶部而是创建一个新的.是的,我意识到我正在创造一个新的....

         Intent itemintent = new Intent(MediaList.this, AudioPlayer.class);

         Bundle b = new Bundle();
        //...putString some strings to send
         itemintent.putExtra("android.intent.extra.INTENT", b);
         itemintent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
         startActivityForResult(itemintent,0);
Run Code Online (Sandbox Code Playgroud)

...但FLAG_ACTIVITY_REORDER_TO_FRONT不应该阻止它创建新活动吗?我猜它认为它必须创建一个新的,因为我发送一些字符串?

更好的是,我怎样才能检查活动是否已经在堆栈中并切换到它,只要字符串是相同的? - 当用户从列表视图中单击媒体项时,我正在启动此活动.[/编辑]

android onpause

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

OnResume相机重新启动黑屏

我有个问题.初始化相机进行预览并将另一个应用程序聚焦后,然后返回我的应用程序:预览显示为黑色.如果我继续拍照,则会拍摄我正常指向相机的位置.

我在OnResume()覆盖上做错了吗?相关代码如下:

public void ReleaseCamera()
    {
        if (myCamera != null)
        {
            myCamera.Release();
            myCamera = null;
        }
    }

protected override void OnPause()
    {
        base.OnPause();

        if (myButtonState == ButtonState.CameraActive)
            ReleaseCamera();
    }

protected override void OnResume()
    {
        base.OnResume();

        if (myButtonState == ButtonState.CameraActive)
            InitializeCamera();
    }

private void InitializeCamera()
    {
        SurfaceView mySurfaceView = FindViewById<SurfaceView>(Resource.Id.surfaceView1);

        myCamera = Android.Hardware.Camera.Open(cameraNumber);
        Android.Hardware.Camera.Parameters p = myCamera.GetParameters();

        myCamera.SetDisplayOrientation(90); // Portrait
        myCamera.SetPreviewDisplay(mySurfaceView.Holder);
        myCamera.StartPreview();
    }
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.:)

android onresume xamarin.android onpause xamarin

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

Gradle - 如何在Gradle中添加一些延迟暂停挂起

我正在寻找一种方法,在两个gradle任务的调用之间插入几秒的暂停.

我可以用

firstTask.doLast {

.....

}
Run Code Online (Sandbox Code Playgroud)

类似于Linux/Unix的东西

sleep 45
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

sleep task delay gradle onpause

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