如果处在安全模式,桌面没有你测试的应用图标或小米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中实现再按一次返回键退出应用程序,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/64234676
Android中实现一键退出应用程序,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/62104900
Android完全退出应用demo,代码里面写的有,可以自己看
Android 返回键退出代码,第一次提示用户再按一次返回键退出,两秒钟内再按一次则退出程序,否则认为用户取消了退出操作!下下来就可以用,绝对好用哦~~~!!
Android中一键退出应用程序.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
两次点击退出应用的方法,可以安全退出应用
退出应用的测试工程,AS工程,Eclipse需要自己移植
一键退出应用程序
Android按两次返回键退出应用核心代码
AppManager 如何优雅的退出应用和处理崩溃异常自动重启
android退出应用程序会调用android.os.Process.killProcess(android.os.Process.myPid())或是System.exit(0),这只是针对第一个Activity(也就是入口的Activity)时生效。如果有A,B,C三个Activity,而想在B或C中...
退出应用程序工具类
android应用触摸两次返回键退出应用,两秒内触摸两次返回键退出(三种实现方式:线程、计时器、判断超时)
联想A10如何退出应用.docx
Android彻底退出应用程序.doc
现在市面上很多应用都会有当用户按返回键的时候提示用户:再按一次将退出应用的提示,也就是双击双击返回键退出应用,接下来我们就用几种办法来实现这个功能 效果图 实现 第一种办法 响应Activity的 onKeyUp事件,两...
遇到了很多问题,其中一个问题是:点击退出按钮,应用程序关闭但是***.exe依然存在内存,所以下面谈谈.NET Windows应用程序退出的方法。 .NET退出程序或者线程一般有以下五个方法: 1.Form.Close 方法 2....
通过只重写Activity中的onBackPressed方法,实现2秒内按返回键两次退出应用程序。
在Android应用中按一次返回键,退出应用时弹出对话框提醒,防止错按的发生