由于在后台android中启动意图而无法返回

可执行文件

这是我的活动Mod_1_1_b。在启动时,此活动将用户带到3秒钟后转到Mod_1_1_c,Mod_1_1_b上有一个用于转到其他活动(主要)的按钮,但是每当我按下该按钮时,它都会先将我带到主要活动,然后立即启动Mod_1_1_c。我试过打电话给finish(); 但不起作用,该意图似乎已经在后台启动。

package com.example.abc;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;

public class Mod_1_1_b extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mod_1_1_b);

        final MediaPlayer mp1 = MediaPlayer
                .create(getBaseContext(), R.raw.yolo); // -<
        mp1.start();
        Handler mHandler = new Handler();
        mHandler.postDelayed(new Runnable() {

            @Override
            public void run() {
                Intent startActivity = new Intent(Mod_1_1_b.this,
                        Mod_1_1_c.class);// -<
                startActivity(startActivity);
                overridePendingTransition(R.anim.slide_right_to_left_1,
                        R.anim.slide_right_to_left_2);
                finish();
            }

        }, 3000L);

    }

    public void back(View view) {
        Intent intent = new Intent(this, Mod_1_1AtoZ.class);
        startActivity(intent);
        overridePendingTransition(R.anim.slide_left_to_right_1,
                R.anim.slide_left_to_right_2);
        finish();
    }

    @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
    }

}

XML文件

    <RelativeLayout
        android:layout_width="290dip"
        android:layout_height="290dip"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="@drawable/b_tile" >
    </RelativeLayout>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:onClick="back"
        android:text="Back" />

</RelativeLayout>
Rod_Algonquin
it first takes me to main activity and then immediately launches Mod_1_1_c

那是因为您将处理程序设置为在3秒钟内执行,因此按下该按钮后,它将更改活动,但仍将执行您的处理程序并更改为活动 Mod_1_1_c

解决方案:

在您的按钮中,back您需要取消处理程序以使其在更改活动后停止执行。

样本:

public void back(View view) {
    timeoutHandler.removeCallbacks(your_runnable);
    Intent intent = new Intent(this, Mod_1_1AtoZ.class);
    startActivity(intent);
    overridePendingTransition(R.anim.slide_left_to_right_1,
            R.anim.slide_left_to_right_2);
    finish();
}

确保您的RunnableHandler具有全局实例。

编辑:

public class Mod_1_1_b extends Activity {


    Handler mHandler; //global instance
    Runnable your_runnable; //global instance

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mod_1_1_b);

        final MediaPlayer mp1 = MediaPlayer
                .create(getBaseContext(), R.raw.yolo); // -<
        mp1.start();
        mHandler = new Handler();
        your_runnable = new Runnable() {

            @Override
            public void run() {
                Intent startActivity = new Intent(Mod_1_1_b.this,
                        Mod_1_1_c.class);// -<
                startActivity(startActivity);
                overridePendingTransition(R.anim.slide_right_to_left_1,
                        R.anim.slide_right_to_left_2);
                finish();
            }

        };

        mHandler.postDelayed(your_runnable , 3000L);

    }

    public void back(View view) {
        mHandler.removeCallbacks(your_runnable);
        Intent intent = new Intent(this, Mod_1_1AtoZ.class);
        startActivity(intent);
        overridePendingTransition(R.anim.slide_left_to_right_1,
                R.anim.slide_left_to_right_2);
        finish();
    }

    @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

由于NullPointerException而无法启动活动

来自分类Dev

失忆由于音频问题而无法启动

来自分类Dev

服务由于登录失败而无法启动

来自分类Dev

在后台线程中启动可运行

来自分类Dev

由于Android中未完成的语句而无法关闭

来自分类Dev

Android共享意图无法启动

来自分类Dev

无法启动Android日历意图

来自分类Dev

在外壳程序脚本中在后台执行时,QEMU无法启动

来自分类Dev

Android短信应用无法在后台运行

来自分类Dev

Android定位服务无法在后台运行

来自分类Dev

Android短信应用无法在后台运行

来自分类Dev

Android进程功能无法在后台运行

来自分类Dev

Android:从我的布局中拍摄照片而无需启动相机意图

来自分类Dev

春季启动-由于缺少EmbeddedServletContainerFactory bean而无法启动EmbeddedWebApplicationContext

来自分类Dev

游戏无法检查条件并在后台启动

来自分类Dev

由于无法检测图形设置而无法启动Pycharm

来自分类Dev

在Android App中在后台处理GoogleFit

来自分类Dev

在Android中自动在后台发送邮件

来自分类Dev

由于名称中的&而无法移动文件

来自分类Dev

我无法使用Android应用程序中的AltBeacon库在后台检测iBeacon

来自分类Dev

git gui由于版本号错误而无法启动

来自分类Dev

ApplicationContextException:由于缺少EmbeddedServletContainerFactory bean而无法启动EmbeddedWebApplicationContext

来自分类Dev

由于git错误而无法启动ember-cli项目

来自分类Dev

由于构造函数错误而无法启动列表视图

来自分类Dev

由于YAML配置问题而无法启动Filebeat

来自分类Dev

Docker容器由于apparmor而无法启动,为什么?

来自分类Dev

由于缺少Mime JSON而无法启动rake任务

来自分类Dev

由于依赖而无法在启动时运行脚本

来自分类Dev

Web服务器由于缺少bean而无法启动

Related 相关文章

  1. 1

    由于NullPointerException而无法启动活动

  2. 2

    失忆由于音频问题而无法启动

  3. 3

    服务由于登录失败而无法启动

  4. 4

    在后台线程中启动可运行

  5. 5

    由于Android中未完成的语句而无法关闭

  6. 6

    Android共享意图无法启动

  7. 7

    无法启动Android日历意图

  8. 8

    在外壳程序脚本中在后台执行时,QEMU无法启动

  9. 9

    Android短信应用无法在后台运行

  10. 10

    Android定位服务无法在后台运行

  11. 11

    Android短信应用无法在后台运行

  12. 12

    Android进程功能无法在后台运行

  13. 13

    Android:从我的布局中拍摄照片而无需启动相机意图

  14. 14

    春季启动-由于缺少EmbeddedServletContainerFactory bean而无法启动EmbeddedWebApplicationContext

  15. 15

    游戏无法检查条件并在后台启动

  16. 16

    由于无法检测图形设置而无法启动Pycharm

  17. 17

    在Android App中在后台处理GoogleFit

  18. 18

    在Android中自动在后台发送邮件

  19. 19

    由于名称中的&而无法移动文件

  20. 20

    我无法使用Android应用程序中的AltBeacon库在后台检测iBeacon

  21. 21

    git gui由于版本号错误而无法启动

  22. 22

    ApplicationContextException:由于缺少EmbeddedServletContainerFactory bean而无法启动EmbeddedWebApplicationContext

  23. 23

    由于git错误而无法启动ember-cli项目

  24. 24

    由于构造函数错误而无法启动列表视图

  25. 25

    由于YAML配置问题而无法启动Filebeat

  26. 26

    Docker容器由于apparmor而无法启动,为什么?

  27. 27

    由于缺少Mime JSON而无法启动rake任务

  28. 28

    由于依赖而无法在启动时运行脚本

  29. 29

    Web服务器由于缺少bean而无法启动

热门标签

归档