當前位置:首頁 » 安卓系統 » android退出

android退出

發布時間: 2022-02-25 15:55:36

1. android activity怎麼全部退出

我們在項目開發的時候可能會遇到安全退出應用的場景,如何能夠安全退出多個Activity?網上有很多方法,下面這種方法就是我最喜歡的,簡單又易懂。如下:每打開一個Activity,就記錄下來,在需要退出時,關閉每一個Activity即可。使用單例模式創建一個Activity管理對象,該對象中有一個Activity容器。定義一個Application類來存儲Activity對象的引用。代碼如下:
public class ExitAppliation extends Application
{
private List activityList = new LinkedList();
private static ExitAppliation instance;
private ExitAppliation()
{
}
// 單例模式中獲取唯一的MyApplication實例
public static ExitAppliation getInstance()
{
if (null == instance)
{
instance = new ExitAppliation();
}
return instance;
}
//添加Activity到容器中
public void addActivity(Activity activity)
{
activityList.add(activity);
}
// 遍歷所有Activity並finish
public void exit()
{
for (Activity activity : activityList)
{
activity.finish();
}

System.exit(0);
}
}</activity></activity>
註:Application類是為了那些需要保存全局變數設計的基本類,你可以在AndroidManifest.xml的標簽中進行自己的實現,這樣的結果是:當你的application或者包被建立的時候將引起那個類被建立。就是說application是用來保存全局變數的,並且是在package創建的時候就跟著存在了。所以當我們需要創建全局變數的時候,不需 要再像j2se那樣需要創建public許可權的static變數,而直接在application中去實現。只需要調用Context的getApplicationContext或者Activity的getApplication方法來獲得一個application對象,再做出相應 的處理。
然後在每個Activity的onCreate()方法中添加下面代碼:
ExitAppliation.getInstance().addActivity(this);
在需要結束所有Activity的時候調用exit方法:
ExitAppliation.getInstance().exit();

2. 怎麼在android實現退出功能

Android Studio中,隨時隨地的退出程序(記得導入相應的包,可以設置自動導入所需的包的,下面的代碼還沒有導入包的部分):

①新建一個 ActivityCollector 類,作為活動管理器,代碼如下所示:
public class ActivityCollector {
public static List<Activity> activities = new ArrayList<>();

public static void addActivity(Activity activity) {
activities.add(activity);
}

public static void removeActivity(Activity activity) {
activities.remove(activity);
}

public static void finishAll() {
for (Activity activity : activities)
{

if(!activity.isFinishing())
{
activity.finish();
}
}
activities.clear();

//以下是殺死當前程序進程的代碼,保證程序徹底退出。
android.os.Process.killProcess(android.os.Process.myPid());
}
}
②再新建一個類BaseActivity,並讓所有活動繼承這個類,也就是其他的全部活動都改為extends BaseActivity,而不是原來的extends AppCompatActivity。

public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("BaseActivity", getClass().getClass().getSimpleName());
ActivityCollector.addActivity(this);
}

@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}

}
③在你想要退出程序的頁面(Activity)的setContentView(R.layout.*****); 下面加上如下代碼,從而實現點擊一個按鈕退出整個程序。
Button button3 = (Button) findViewById(R.id.*****);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityCollector.finishAll();
}
});
//*號部分看具體情況而定

3. 安卓系統怎樣退出程序

安卓程序退出有多種,每種軟體設計者構思不同,方法也不同:
1、在運行某個軟體界面時,一直點手機下方的 返回鍵,彈出對話框——是否退出程序——是——退出程序;若沒有彈出對話框,直接回到手機桌面,說明此軟體在後台運行(如qq,飛信、微信、360此類軟體,步驟可參照2)
2、如qq、微信軟體,運行界面——點擊手機下方的菜單鍵——彈出對話框——選擇——退出——是
3、還有一種方法是在,非軟體界面(手機桌面狀態)——長按菜單鍵——彈出所有運行軟體的圖標——按住要退出的軟體——向右拖移即可

4. Android 怎麼退出整個應用程序

1.後面添加了一個菜單返回功能鍵,這個方法也只能用system.exit(0)來關閉當前活動的Activity,附代碼:
public boolean onCreateOptionsMenu(Menu menu)
{

super.onCreateOptionsMenu(menu);
MenuItem item = menu.add(Menu.NONE, Menu.NONE, Menu.NONE, "Exit");
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener()
{
public boolean onMenuItemClick(MenuItem item)
{
System.exit(0);
return true;
}
});
return true;
}

2.這樣太不方便,每次退出界面之後應用程序還在運行,
網上提供了幾種方法,將下面SysApplication這個類復制到工程裡面,然後在每個Acitivity的oncreate方法裡面通過SysApplication.getInstance().addActivity(this); 添加當前Acitivity到ancivitylist裡面去,最後在想退出的時候調用SysApplication.getInstance().exit();可直接關閉所有的Acitivity並退出應用程序。
附代碼:
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Application;
import android.content.DialogInterface;
import android.content.Intent;

public class SysApplication extends Application {
private List mList = new LinkedList();
private static SysApplication instance;

private SysApplication() {
}
public synchronized static SysApplication getInstance() {
if (null == instance) {
instance = new SysApplication();
}
return instance;
}
// add Activity
public void addActivity(Activity activity) {
mList.add(activity);
}

public void exit() {
try {
for (Activity activity : mList) {
if (activity != null)
activity.finish();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
System.exit(0);
}
}
public void onLowMemory() {
super.onLowMemory();
System.gc();
}
}
3.在應用程序裡面 的activity的oncreate裡面添加SysApplication.getInstance().addActivity(this)
如:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SysApplication.getInstance().addActivity(this);
}

5. android開發中完全退出程序的方法有幾種

總體思路就是寫在application中,每個activity創建時添加進集合,點退出按鈕,調用退出方法.
不管怎麼寫,都離不開添加,遍歷,銷毀.....

package com.lindsay.application;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
public class CloseActivityApplication extends Application
{
private List<Activity> activitys;
// 每啟動一個Activity---》放進集合
public void putActivity(Activity activity)
{
if (activitys == null)
{
activitys = new ArrayList<Activity>();
}
activitys.add(activity);
}
// 退出操作
public void exit()
{
// 銷毀Activity
try
{
for (Activity a : activitys)
{
if (a != null)
{
a.finish();
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
System.exit(0);
}
}
}

6. Android中如何實現一鍵退出

提供兩種簡單的方法:
1 使用 Java API 退出虛擬機
System.exit(0);
Runtime.getRuntime().exit(0);
2 通過 PID 殺死進程
import android.os.Process;
Process.killProcess(Process.myPid());

7. android開發 退出程序問題

http://www.cnblogs.com/qingblog/archive/2012/06/08/2541790.html

8. android中如何退出程序停止服務

採用 android.os.Process.killProcess(android.os.Process.myPid());可以做到的,另外如果你程序中又service 在推出的額時候stop().

9. Android中按返回鍵怎麼退出一個用程序

重寫activty的onkeydown在用戶按下返回鍵的時候調用,所以我們可以通過重寫onkeydown的方法實現,還有可能到了MainActivity前面還有其他acitivty存活這,我們需要在onkeydown的時候把所有的activity都結束掉,為了實現這個我們先定義一個BaseActivity,在Oncreate和ondestroy生命周期里存儲acitivty的引用
用一個List集合存儲存活的acitivity,我們把list作為application成員
寫一個MyApp類,作為程序啟動的application

public class MyApp extends Application{
private List<Activity> activities = new ArrayList<Activity>();
public List<Activity> getActivities(){
return activities;
}
}

BaseActivity代碼如下
class BaseActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
((MyApp)getApplication()).getActivities().add(this);
}

@Override
protected void onDestroy() {
super.onDestroy();
((MyApp)getApplication()).getActivities().remove(this);
}

}

以後工程里的所有Activity都繼承於BaseActivity即可

最後是MainAcitivty的代碼,在onkeydown方法里遍歷list集合,調用每個activity的finish方法即可

public class MyActivity extends Activity {

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

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
List<Activity> activities = ((MyApp)getApplication()).getActivities();
for(Activity activity:activities){
activity.finish();
}
return super.onKeyDown(keyCode, event);
}
}

10. android studio 怎麼退出程序

Android Studio 啟動速度優化 1、開啟 gradle 單獨的守護進程 當 Android Studio 遇到錯誤的時候,往往會導致 Android Studio 掛掉,為了防止退出程序,則另外開啟一個線程來守護 Android Studio 的進程,具體操作。 在 C:\Users\.gradle 這個目錄下,創建 gradle.properties 配置文件,復制以下配置進行優化。 # Project-wide Gradle settings. org.gradle.daemon=true org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.configureondemand=true 2、擴大內存 64位:\studio64.exe.vmoptions or studio.exe.vmoptions 32位:\studio.exe.vmoptions or studio.exe.vmoptions 編輯這個文件,在最開始的兩行設置內存大小,類似於eclipse.ini中的配置。配置如下: -Xms256m -Xmx1024m 3、優化編譯時VM大小 選擇 file->setting->compile 添加如下參數: -Xmx1024m -XX:MaxPermSize=128m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 具體參數大小視電腦配置而定。 通過上述這些優化操作,經過實際測試,編譯速度有很大提升,比較大的項目從之前的 5-8 分鍾可以減少到 1-2 分鍾

熱點內容
監控腳本實用 發布:2022-11-30 14:14:28 瀏覽:371
九陰真經顯血腳本 發布:2022-11-30 14:14:22 瀏覽:191
浪潮伺服器mgn口地址 發布:2022-11-30 14:13:41 瀏覽:791
linux鎖屏設置 發布:2022-11-30 14:08:20 瀏覽:887
演算法轉讓 發布:2022-11-30 14:07:24 瀏覽:16
我的世界為什麼從伺服器斷開連接 發布:2022-11-30 14:07:04 瀏覽:386
怎麼擠出母乳存儲袋中的空氣 發布:2022-11-30 14:05:32 瀏覽:27
linuxbin文件 發布:2022-11-30 14:01:19 瀏覽:474
購物網站源碼php 發布:2022-11-30 13:58:15 瀏覽:466
python執行java 發布:2022-11-30 13:56:23 瀏覽:936