色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 實(shí)現(xiàn)一鍵退出所有的activity

實(shí)現(xiàn)一鍵退出所有的activity 時(shí)間:2018-09-28      來源:未知

方式一:動(dòng)態(tài)注冊(cè)廣播實(shí)現(xiàn)

------- 思路:給每一個(gè)運(yùn)行的Activity都設(shè)置廣播監(jiān)聽器,并

且監(jiān)聽的廣播監(jiān)聽器的Type都是相同的

--------動(dòng)態(tài)注冊(cè)廣播監(jiān)聽器并實(shí)施監(jiān)聽

--------這樣當(dāng)所有監(jiān)聽的Activity同類型的Type就會(huì)監(jiān)聽到,

--------然后Finsh(),這樣就可以實(shí)現(xiàn)一鍵退出所有的 Activity

方式二:把所有的activty放入同一個(gè)List中,從List中

取出所有activity調(diào)用finish()方法

方式三:拋出異常

方式四:SingleTask

———————————————————————————

代碼實(shí)現(xiàn):動(dòng)態(tài)注冊(cè)廣播實(shí)現(xiàn)

在一個(gè)Activity中發(fā)送廣播

package demo.baidumapsdk.onekey_backactivity;

import android.content.Intent;

import android.content.IntentFilter;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Button;

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

//發(fā)送廣播

public void send(View view){

//發(fā)送廣播

Intent intent = new Intent();

intent.setAction("back");//設(shè)置發(fā)送廣播類型

MainActivity.this.sendBroadcast(intent);//發(fā)送廣播

}

___________________________________________________________

在另一個(gè)Activity中動(dòng)態(tài)注冊(cè)廣播并監(jiān)聽

package demo.baidumapsdk.mychar1;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.content.IntentFilter;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import com.hyphenate.chat.EMClient;

import com.hyphenate.exceptions.HyphenateException;

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//動(dòng)態(tài)注冊(cè)廣播

MyReceive myReceive = new MyReceive();

IntentFilter filter = new IntentFilter();

filter.addAction("back");

registerReceiver(myReceive,filter);

———————————————————————————

在動(dòng)態(tài)注冊(cè)廣播監(jiān)聽的Activity中寫類實(shí)現(xiàn)BroadCastReceive,并重寫onReceive方法

package demo.baidumapsdk.mychar1;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.widget.Toast;

//動(dòng)態(tài)注冊(cè)廣播監(jiān)聽

public class MyReceive extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

String intent1 = intent.getAction();//獲取廣播類型

//TODO

//在這里就可以操作一些事情,比如退出Activity

Toast.makeText(context,intent1,Toast.LENGTH_SHORT).show();

}

}

___________________________________________________________

代碼實(shí)現(xiàn)方式二:把所有的activty放入同一個(gè)List中,從List中

取出所有activity調(diào)用finish()方法

public class MainActivity extends AppCompatActivity{

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//把當(dāng)前Activity裝進(jìn)list,類名.對(duì)象

Util_List.list.add(this);

//創(chuàng)建Button

Button button = new Button(this);

button.setText("啟動(dòng)A");

setContentView(button);

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = new Intent(MainActivity.this,TwoActivity.class);

startActivity(intent);

}

});

}

@Override

protected void onDestroy() {

Util_List.list.remove(this);

super.onDestroy();

Log.i("Fslog","MyActivity的OnDestory被執(zhí)行");

}

}

———————————————————————————

public class TwoActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//將當(dāng)前的Activity裝進(jìn)list

Util_List.list.add(this);

//不依賴布局文件,自己創(chuàng)建

Button button = new Button(this);

button.setText("退出");

setContentView(button);

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

TwoActivity.this.finish();

}

});

}

@Override

protected void onDestroy() {

//從list中取出所有的Activity,執(zhí)行finsh方法

//在遍歷值前應(yīng)該判斷:如果你遍歷的是一個(gè)空的Activity對(duì)象,

// for-each循環(huán)將拋出NullPointerException,因此在遍歷前你總是應(yīng)該檢查空引用。

if (Util_List.list!=null){

//遍歷:第一部分:是遍歷的對(duì)象(Activity),第二部

分:是存放對(duì)象的容器(Util_List.list)

for (Activity activity:Util_List.list){

activity.finish();

}

}

super.onDestroy();

}

}

———————————————————————————

public class Util_List {

public static final ArrayList list = new ArrayList();

}

———————————————————————————

方式三:使用啟動(dòng)模式SingleTask

在這個(gè)地方:我們要注意啟動(dòng)模式設(shè)置為SingleTask必須是入口組件

SingleTask是單一實(shí)例,后會(huì)回調(diào)onNewIntent()

onNewIntent的回調(diào)機(jī)制:launchMode為singleTask的時(shí)候,通過Intent啟到一個(gè)Activity,如果系統(tǒng)已經(jīng)存在一個(gè)實(shí)例,系統(tǒng)就會(huì)將請(qǐng)求發(fā)送到這個(gè)實(shí)例上,但這個(gè)時(shí)候,系統(tǒng)就不會(huì)再調(diào)用通常情況下我們處理請(qǐng)求數(shù)據(jù)的onCreate方法,而是調(diào)用onNewIntent方法, 不要忘記,系統(tǒng)可能會(huì)隨時(shí)殺掉后臺(tái)運(yùn)行的Activity,如果這一切發(fā)生,那么系統(tǒng)就會(huì)調(diào)用onCreate方法,而不調(diào)用onNewIntent方法,一個(gè)好的解決方法就是在onCreate和onNewIntent方法中調(diào)用同一個(gè)處理數(shù)據(jù)的方法

__________________________________________________________________

代碼:

android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme">

android:launchMode="singleTask">

 

 

———————————————————————————

@Override

protected void onNewIntent(Intent intent) {

finish();

super.onNewIntent(intent);

}

上一篇:Android傳感器開發(fā)

下一篇:Unity3D基礎(chǔ)—基本物體和基本組件介紹

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 久久久中精品2020中文| 亚洲第一精品福利| www.久久久久| 国产在线播放91| 日韩欧美在线播放| 日韩福利伦理影院免费| 欧美壮男野外gaytube| 日韩最新在线视频| 亚洲一区二区三区四区在线播放| 狠狠综合久久av一区二区小说| 亚洲免费视频在线观看| 国产精品久久久久久久久久久不卡| 欧美日韩国产精品| 国产一区二区av| 亚洲a在线播放| 日韩av免费在线播放| 欧美高清视频免费观看| 在线日韩av观看| 亚洲精品久久久一区二区三区| 日韩av片电影专区| 国产69精品久久久| 另类少妇人与禽zozz0性伦| 亚洲精品之草原avav久久| 成人黄色午夜影院| 欧美一级高清免费播放| 欧美黑人巨大精品一区二区| 精品国产网站地址| 尤物tv国产一区| 国产视频综合在线| 亚洲成人激情在线| 成人精品在线视频| 国产精品综合网站| 国产精品第三页| 国产国语刺激对白av不卡| 欧美中文字幕在线| 欧美激情日韩图片| 欧美国产精品va在线观看| 久久成人亚洲精品| 欧美成人四级hd版| 欧美麻豆久久久久久中文| 久久久精品国产|