如果处在安全模式,桌面没有你测试的应用图标或小米android 4.1.1系统getLaunchIntentForPackage为空时,可以采用setComponent退出到登录界面
@Override
public void onQuit() {
final CustomAlertDialog.Builder builder = new CustomAlertDialog.Builder(
this);
builder.setMessage(R.string.quit_login_dialog_title);
builder.setPositiveButton(getResources().getString(R.string.ok),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (getApplicationContext() == null) {
return;
}
dialog.dismiss();
final ProgressDialog progressDialog = new ProgressDialog(
ProfileSettingActivity.this);
progressDialog.setMessage(ResourcesManager
.getString(R.string.quit_tip));
progressDialog.setCancelable(false);
UIUtil.showDialogSafe(progressDialog);
AsyncTaskUtils.executeAsyncTask(
new AsyncTask<Void, Void, Boolean>() {
protected Boolean doInBackground(
Void... params) {
UserPrefs.getInstance().setLogin(false);
UserPrefs.getInstance().setAgainSign(
true);
UserPrefs.getInstance().saveToken(null);
return true;
}
@Override
protected void onPostExecute(Boolean result) {
UIUtil.dismissDialogSafe(progressDialog);
MainActivity.resetStartingLoadingPage();
String packAgeName = getPackageName();
final Intent intent = getPackageManager().getLaunchIntentForPackage(packAgeName);
if(intent != null){
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}else{
Intent newIntent = new Intent(Intent.ACTION_MAIN);
newIntent.setComponent(new ComponentName(packAgeName,"com.android.xxx.activity.MainActivity"));
newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(newIntent);
}
finish();
}
}, Priority.HIGH);
}
});
builder.setNegativeButton(getResources().getString(R.string.cancel),
new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.build().show();
}
分享到:
相关推荐
在Android开发中,为了让用户能够明确地退出应用,通常会实现一个功能,即连续点击两次返回按钮后退出应用程序。这个功能可以防止用户意外地退出应用,同时也提供了良好的用户体验。下面我们将详细探讨如何在Android...
在Android应用开发中,通常我们希望用户在按下返回键时能够退出应用程序,但为了提供更好的用户体验,Android系统并不推荐直接在用户第一次点击返回键时就退出。为了实现“再按一次返回键退出应用程序”的功能,我们...
在Android系统中,由于其设计原则,通常不鼓励开发者实现一键退出应用的功能,因为系统会自动管理应用程序的内存资源。然而,用户有时可能有需求快速退出应用,这就涉及到如何在Android程序中实现这一功能。本篇文章...
在Android开发中,完全退出应用程序通常指的是关闭所有与应用相关的活动(Activities)和释放系统资源。这不仅是用户体验的一部分,也可能在某些情况下是必要的,比如在内存紧张时优化系统性能。以下是一个关于如何...
本资源“安卓后台服务相关-Android中一键退出应用程序.rar”似乎包含了与实现一键退出应用相关的代码示例,这在某些场景下可能是必要的,比如优化内存占用或者提高用户体验。 首先,我们来深入理解一下Android的...
.NET框架提供了多种方式来退出应用程序,每种方法适用于不同的场景,具有不同的特性和效果。本文主要探讨了.NET Windows应用程序退出的五种常见方法,并详细分析了它们之间的差异。 首先,`Form.Close`方法用于关闭...
Android 返回键退出代码,第一次提示用户再按一次返回键退出,两秒钟内再按一次则退出程序,否则认为用户取消了退出操作!下下来就可以用,绝对好用哦~~~!!
在Android开发中,退出应用程序是一个看似简单但其实包含多个层面的技术点。本测试工程主要针对Android应用的退出机制进行探讨,适用于使用Android Studio (AS) 开发环境,而对于使用Eclipse的开发者,可能需要进行...
当连续点击次数达到预设阈值(这里是2次)时,调用`finishAllActivities()`来结束所有活动,从而安全地退出应用。同时,为了提升用户体验,我们在每次单击后显示一个Toast提示,告知用户还需要再次点击才能退出。 `...
在Android开发中,退出应用程序是一个常见但又有些复杂的主题,因为Android系统的设计理念是尽可能保持应用的后台状态,以便用户可以快速恢复到之前的工作。本文将深入探讨如何正确地退出Android应用,以及不同方法...
本篇文章将详细探讨如何使用`AppManager`优雅地退出应用,以及如何处理崩溃异常并实现自动重启,这些都是Android开发者必备的技能。 **优雅退出应用** 1. **避免直接调用`System.exit(0)`**: 这种方法会立即结束...
### Android按两次返回键退出应用的核心代码解析 在Android开发中,为了提升用户体验,开发者经常会在应用程序中实现“按两次返回键退出应用”的功能。这种设计可以有效地避免用户因误触返回键而导致应用意外关闭的...
在探讨“一键退出应用程序”的知识点时,我们首先要理解其核心概念和实现机制。根据给定文件的信息,我们可以看到这是一个基于Android平台的应用程序管理类,旨在实现一个全局的、能够一次性关闭所有活动(Activity...
OS X 平台上退出应用的六大招 OS X 平台上退出应用的六大招是指在 Mac 操作系统中退出当前运行的应用程序的六种方法。这些方法可以帮助用户强制退出无响应或崩溃的应用程序,释放系统资源,提高系统性能。 方法一...
### 如何在联想A10设备上退出应用 在日常使用电脑的过程中,用户经常会遇到需要关闭正在运行的应用程序的情况。对于联想A10这款设备来说,掌握正确的退出应用程序的方法不仅能够帮助用户更高效地管理自己的任务,还...
但仅此操作并不足以完全退出应用,因为可能仍有服务(Service)、广播接收器(BroadcastReceiver)或其他后台组件在运行。要确保完全退出,可以监听系统事件(如ACTION_APPLICATION_DETECTED_BACK.press),并在适当...
在Android开发中,退出整个应用是一个常见的需求,但与许多其他平台不同,Android并不鼓励开发者直接强制退出应用,因为系统会自动管理应用的状态。然而,有时为了满足特定场景的需求,如用户希望一键清理所有活动,...
在Android开发中,有时为了提供更好的用户体验或者遵循某些设计规范,开发者需要在用户连续快速点击两次返回键时退出应用程序。这种功能的实现通常涉及到事件监听、时间管理以及应用的生命周期控制。以下是三种实现...
在Android开发中,为了提供良好的用户体验,通常不会直接在用户按下一次返回键时就退出应用程序。但是,在某些特定场景下,比如游戏或者全屏模式,开发者可能会希望用户在短时间内连续按下两次返回键来退出应用,以...
在Android或iOS等移动操作系统开发中,"退出应用程序工具类"通常是指一个专门设计用于帮助程序优雅地结束运行的类。这个类包含了处理程序退出逻辑的函数,确保在用户关闭应用或者系统需要释放资源时,应用程序能正确...