最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 應(yīng)用的歡迎界面實現(xiàn)代碼

 更新時間:2016年07月26日 17:03:16   投稿:lqh  
本文主要介紹Android 應(yīng)用歡迎界面的開發(fā),這里提供實現(xiàn)方法和實現(xiàn)代碼以供大家參考,有需要的朋友可以參考下

本文詳細(xì)描述了如何實現(xiàn)如下圖中的微信啟動界面. 該類啟動界面的特點是在整個Application的生命周期里, 它只會出現(xiàn)在第一次進入應(yīng)用時, 即便按回退鍵到桌面之后. 使用該類啟動界面的應(yīng)用還有: QQ, QQ音樂, 網(wǎng)易云音樂和微博等等.

知識要點:

AndroidManifest.xml 中 activity 的 android:noHistory 屬性, 即 Intent.FLAG_ACTIVITY_NO_HISTORY

隱式Intent

回退棧(BackStack) 

詳細(xì)內(nèi)容見官方文檔.

實現(xiàn)代碼:

定義

SplashActivity 為啟動界面

MainActivity 為主界面

AndroidManifest.xml

<!-- 該文件為AndroidManifest.xml, 以下代碼為application下的activity聲明 -->

<!-- 啟動界面 -->
<activity android:name=".SplashActivity"
  android:label="@string/app_name"
  android:noHistory="true">
 <intent-filter>
 <action android:name="android.intent.action.MAIN"/>
 <category android:name="android.intent.category.LAUNCHER"/>
 </intent-filter>
</activity>

<!-- 主界面 -->
<activity android:name=".MainActivity" android:label="@string/app_name">
</activity>

特別需要注意的是, 在上述Activity-XML定義中, 我們設(shè)置了SplashActivity為noHistory的屬性為true, 該設(shè)置是告訴系統(tǒng)只要離開該activity, 則請把該activity從回退棧中清除. 另外, 直接在Intent中設(shè)置Intent.FLAG_ACTIVITY_NO_HISTORY標(biāo)識的效果同設(shè)置該屬性為true的.

SplashActivity.java

import ...

public abstract class SplashActivity extends Activity implements Runnable {
 final Handler mHandler = new Handler();

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

 mHandler.postDelayed(this, 2000);
 }

 @Override
 public void run() {
 Intent intent = new Intent(this, MainActivtiy.class);
 startActivity(intent);
 // 此處可以不需要調(diào)用finish()了, 因為已經(jīng)設(shè)置了noHistory屬性, 從而使得系統(tǒng)接管finish操作
 }
}

 MainActivity.java

import ...

public abstract class MainActivity extends Activity {
 ...

 @Override
 public void onBackPressed() {     
    // 方法 1: goto the default launcher. It's not recommended.
    // Intent i = new Intent(Intent.ACTION_MAIN);
    // i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    // i.addCategory(Intent.CATEGORY_HOME);
    // startActivity(i);

    // 方法 2: goto the default launcher. It's recommended.
    moveTaskToBack(true);
  }
}

上述代碼中, 提供了兩個方法, 第一個方法通過隱式Intent來切換到桌面應(yīng)用(即Launcher), 第二個方法則是將當(dāng)前activity所在的task切換到后臺, 需要注意的是, moveTaskToBack(boolean nonRoot) 的 nonRoot 參數(shù), 如果nonRoot=false, 則要求當(dāng)前activity為棧頂activity, 否則, 調(diào)用將不起任何效果, 如果nonRoot=true, 則忽略nonRoot=false時的條件, 因此, 我們在這里直接設(shè)置nonRoot=true

到這里, 我們可以一直按回退鍵, 直到切換到桌面, 這時SplashActivity已經(jīng)被系統(tǒng)清理了, MainActivity連同它所在的Task已經(jīng)切換到后臺了. 下次我們再啟動應(yīng)用時, 只要MainActivity沒有被系統(tǒng)回收, 那么我們再看到的MainActivity還是退回到桌面前的那個MainActivity.

希望本篇文章能幫助開發(fā)Android應(yīng)用的朋友。

相關(guān)文章

  • Android中的異步任務(wù)處理與UI更新技巧

    Android中的異步任務(wù)處理與UI更新技巧

    在Android開發(fā)中,異步任務(wù)處理和UI更新是兩個非常重要的概念,本文將詳細(xì)介紹Android中異步任務(wù)的處理方式以及如何在異步任務(wù)完成后更新UI,并通過代碼示例介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2024-09-09
  • MobLink Android端業(yè)務(wù)場景簡單說明

    MobLink Android端業(yè)務(wù)場景簡單說明

    這篇文章主要介紹了MobLink Android端業(yè)務(wù)場景簡單說明,MobLink的功能實現(xiàn)就是在分享前會將鏈接的參數(shù)信息保存到服務(wù)器,更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-09-09
  • Flutter之Timer實現(xiàn)短信驗證碼獲取60s倒計時功能的代碼

    Flutter之Timer實現(xiàn)短信驗證碼獲取60s倒計時功能的代碼

    這篇文章主要介紹了Flutter之Timer實現(xiàn)短信驗證碼獲取60s倒計時功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Android中實時獲取音量分貝值詳解

    Android中實時獲取音量分貝值詳解

    這篇文章主要介紹了Android中實時獲取音量分貝值詳解,本文講解了基礎(chǔ)知識、Android API、MediaRecorder、AudioRecord等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Android自動填充短信驗證碼功能(demo)

    Android自動填充短信驗證碼功能(demo)

    在項目開發(fā)中為了給用戶帶來極好的體驗效果,通常需要實現(xiàn)驗證碼的自動填充功能,怎么實現(xiàn)呢?今天小編給大家分享Android自動填充短信驗證碼功能的實現(xiàn)方法,需要的朋友參考下吧
    2017-02-02
  • android實現(xiàn)圖片驗證碼方法解析(自繪控件)

    android實現(xiàn)圖片驗證碼方法解析(自繪控件)

    本文主要介紹了android自繪控件的應(yīng)用--實現(xiàn)圖片驗證碼方法案例,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • Android連接MySQL數(shù)據(jù)庫詳細(xì)教程

    Android連接MySQL數(shù)據(jù)庫詳細(xì)教程

    在Android應(yīng)用程序中連接 MySQL 數(shù)據(jù)庫可以幫助開發(fā)人員實現(xiàn)更豐富的數(shù)據(jù)管理功能,本教程將介紹如何在Android應(yīng)用程序中使用低版本的MySQL Connector/J驅(qū)動程序來連接MySQL數(shù)據(jù)庫,需要的朋友可以參考下
    2023-05-05
  • android h5頁面獲取不到定位數(shù)據(jù)的問題解決

    android h5頁面獲取不到定位數(shù)據(jù)的問題解決

    我們經(jīng)常會遇到onGeolocationPermissionsShowPrompt 已經(jīng)執(zhí)行,但仍然沒有獲取到定位數(shù)據(jù)的問題,所以本文給大家介紹了android h5頁面獲取不到定位數(shù)據(jù)的問題解決,需要的朋友可以參考下
    2024-11-11
  • Android4.4下MediaProvider無法向外置SD卡中文件寫數(shù)據(jù)的解決方法

    Android4.4下MediaProvider無法向外置SD卡中文件寫數(shù)據(jù)的解決方法

    這篇文章主要介紹了Android4.4下MediaProvider無法向外置SD卡中文件寫數(shù)據(jù)的解決方法,實例分析了Android4.4下針對讀寫限制的修改技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • Android二維碼開發(fā)學(xué)習(xí)教程

    Android二維碼開發(fā)學(xué)習(xí)教程

    這篇文章主要為大家分享了Android二維碼開發(fā)學(xué)習(xí)教程,感興趣的小伙伴們可以參考一下
    2016-07-07

最新評論

萝北县| 南木林县| 左贡县| 全南县| 富川| 蓬莱市| 辛集市| 安徽省| 日喀则市| 本溪市| 当阳市| 曲沃县| 浪卡子县| 磴口县| 偏关县| 长寿区| 资源县| 尤溪县| 吉林省| 白银市| 吴忠市| 泉州市| 台湾省| 青州市| 桂阳县| 华亭县| 贞丰县| 桐梓县| 江口县| 泸州市| 根河市| 安宁市| 滦平县| 天镇县| 乐至县| 太仆寺旗| 鸡泽县| 阜宁县| 宝坻区| 靖远县| 腾冲县|