当前位置:首页 » 安卓系统 » 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 分钟

热点内容
二级程序编译答案 发布:2024-05-03 18:41:35 浏览:653
领动自动精英版是哪个配置 发布:2024-05-03 18:37:30 浏览:150
java编译器中cd什么意思 发布:2024-05-03 18:36:00 浏览:389
传奇服务器如何刷钱 发布:2024-05-03 18:36:00 浏览:977
安卓版twitter怎么注册 发布:2024-05-03 18:28:05 浏览:893
Python逻辑优先级 发布:2024-05-03 18:26:14 浏览:267
linux查看svn密码 发布:2024-05-03 18:12:47 浏览:804
地铁逃生怎么进入游戏安卓 发布:2024-05-03 17:49:35 浏览:992
aws云存储 发布:2024-05-03 17:48:50 浏览:955
安卓微信王者号怎么转成苹果 发布:2024-05-03 17:44:38 浏览:745