溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

android開發(fā)中怎么實現(xiàn)一個App定時跳轉(zhuǎn)功能

發(fā)布時間:2020-11-23 17:21:26 來源:億速云 閱讀:344 作者:Leah 欄目:移動開發(fā)

這篇文章給大家介紹android開發(fā)中怎么實現(xiàn)一個App定時跳轉(zhuǎn)功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

App的小功能點,很簡單幾十行代碼就可以實現(xiàn)

主頁面代碼

package com.buildingbuilding;

import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.WindowManager;
import android.widget.TextView;

import com.buildingbuilding.activitys.BuildingActivity;

public class MainActivity extends AppCompatActivity {
  private TextView textView;
  private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
      if (msg.what != 0) {
        textView.setText(msg.what + "秒后進入APP");
      } else {
        Intent intent = new Intent(MainActivity.this, BuildingActivity.class);
        startActivity(intent);
        finish();
      }
    }
  };
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    init();
  }

  private void init() {
    //全屏顯示
    getSupportActionBar().hide();
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    textView = (TextView) findViewById(R.id.textView);
    textView.setText("布丁布丁");

    new CountDown().start();
  }

  //進入APP倒計時
  class CountDown extends Thread {
    int count = 3;
    @Override
    public void run() {
      try {
        while (count >= 0) {
          sleep(1000);
          Message message = new Message();
          message.what = count;
          handler.sendMessage(message);
          count--;
        }
      } catch (InterruptedException e) {
        e.printStackTrace();
      }

    }
  }
}

基本思路就是,通過一個計時線程來控制主線程(即UI線程)來更新UI

通過Handler來接受來自計時線程的Message

private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
      if (msg.what != 0) {
        textView.setText(msg.what + "秒后進入APP");
      } else {
        Intent intent = new Intent(MainActivity.this, BuildingActivity.class);
        startActivity(intent);
        finish();
      }
    }
  };

2.計時線程(內(nèi)部類),設(shè)置每隔1秒睡一次,共3秒

//進入APP倒計時
  class CountDown extends Thread {
    int count = 3;
    @Override
    public void run() {
      try {
        while (count >= 0) {
          sleep(1000);
          Message message = new Message();
          message.what = count;
          handler.sendMessage(message);
          count--;
        }
      } catch (InterruptedException e) {
        e.printStackTrace();
      }

    }
  }

3.最后別忘了在init()方法中啟動線程

private void init() {
    //全屏顯示
    getSupportActionBar().hide();
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    textView = (TextView) findViewById(R.id.textView);
    textView.setText("布丁布丁");

    new CountDown().start();
  }

OK,現(xiàn)在基本都完成了,來看效果

android開發(fā)中怎么實現(xiàn)一個App定時跳轉(zhuǎn)功能 

android開發(fā)中怎么實現(xiàn)一個App定時跳轉(zhuǎn)功能 

android開發(fā)中怎么實現(xiàn)一個App定時跳轉(zhuǎn)功能 

android開發(fā)中怎么實現(xiàn)一個App定時跳轉(zhuǎn)功能

關(guān)于android開發(fā)中怎么實現(xiàn)一個App定時跳轉(zhuǎn)功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI