如何在android中的动画期间检查应用程序是否被杀死

时间:2014-08-27 09:21:20

标签: android

我必须创建一个以动画开头的应用程序,如果我们点击后退按钮,那么它应该返回给应用程序管理器。但是如果你在那个动画期间点击后退按钮那么我做了什么呢到应用程序管理器但在第二页或第二页之后(该动画出现之后)。

任何人都可以帮忙吗?

这是动画..

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.load);
        im = (ImageView) findViewById(R.id.load_icon);
        rotate = AnimationUtils.loadAnimation(getApplicationContext(),
                R.anim.load_page);
        rotate.setInterpolator(new LinearInterpolator());
        im.startAnimation(rotate);
        new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                Intent nextPageIntent = new Intent(getApplicationContext(),
                        P1.class);
                startActivity(nextPageIntent);

            }
        }, 3000);

    }

3 个答案:

答案 0 :(得分:0)

第一页打开是因为您已添加     new Handler()。postDelayed(new Runnable(){

        @Override
        public void run() {
            Intent nextPageIntent = new Intent(getApplicationContext(),
                    P1.class);
            startActivity(nextPageIntent);

        }
    }, 3000);

这将启动活动。要知道动画是否已停止使用AnimationListener。有关动画监听器的更多详细信息 Android, How to set animation listener for view group?

答案 1 :(得分:0)

您刚刚将动画添加到一个图像视图中,而不是动画。问题是,你开始一个线程在3秒后启动活动P1。该线程只启动P1活动。试试这个,尽量避免使用killProcess()

public class LauncherActivity extends Activity {

    private Handler mHandler;
    private Runnable mRunnable;

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

        mHandler = new Handler();
        mRunnable = new Runnable() {
            @Override
            public void run() {
                Intent nextPageIntent = new Intent(getApplicationContext(),
                        XmlParserActivity.class);
                startActivity(nextPageIntent);
            }
        };

        mHandler.postDelayed(mRunnable, 3000);
    }
   /* @Override
    public void onBackPressed() {
        super.onBackPressed();
        mHandler.removeCallbacks(mRunnable);
    }*/

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mHandler.removeCallbacks(mRunnable);
   }
}

答案 2 :(得分:-2)

public void onBackPressed() {
    android.os.Process.killProcess(android.os.Process.myPid());
}

这是答案