Android 完成后,意图再次开始
我使用一个按钮退出我的应用程序,但是,当我退出它并按下最近的应用程序按钮时(下图) 并通过灰色屏幕重新输入我的应用程序,而不是从主活动启动应用程序,而是从最近的活动启动应用程序,因为它有bo数据而崩溃。。 即使应用程序崩溃,当我再次按下灰色活动时,它也会再次打开第二个活动并再次崩溃 灰色屏幕的图片() 我如何解决当用户点击灰色屏幕时将启动主要活动的问题 这是我的代码:Android 完成后,意图再次开始,android,android-intent,exit,activity-finish,Android,Android Intent,Exit,Activity Finish,我使用一个按钮退出我的应用程序,但是,当我退出它并按下最近的应用程序按钮时(下图) 并通过灰色屏幕重新输入我的应用程序,而不是从主活动启动应用程序,而是从最近的活动启动应用程序,因为它有bo数据而崩溃。。 即使应用程序崩溃,当我再次按下灰色活动时,它也会再次打开第二个活动并再次崩溃 灰色屏幕的图片() 我如何解决当用户点击灰色屏幕时将启动主要活动的问题 这是我的代码: AlertDialog.Builder builder = new AlertDialog.Builder(th
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Stop Navigation ");
builder.setMessage("Are you sure you want to stop navigation?");
builder.setCancelable(false);
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
exitButtonPressed = true;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
//finishAffinity();
//System.exit(0);
//finishAndRemoveTask();
//android.os.Process.killProcess(android.os.Process.myPid());
// I TRIED ALL THE ABOVE BUT ITS ITS NOT WORKING..
}
});
谢谢
编辑:
当点击灰色方块时,它会在恢复时激活
我注意到,每次我删除任务并通过前台服务进入第二个活动时,它都会发生。
我认为这是一个悬而未决的意图
这是我的待定意图代码:
Intent i = new Intent(getApplicationContext(), MapsActivity.class);
i.putExtra("AddressBackground22", mAddress);
i.putExtra("AddressType22", mAddressType);
i.putExtra("AddressLatBackground22", destinationLat);
PendingIntent activityPendingIntent = PendingIntent.getActivity(this, 25, i, 0);
NotificationCompat.Action action2 = new NotificationCompat.Action(R.drawable.ic_cancel, getString(R.string.remove_location_updates), servicePendingIntent);
NotificationCompat.Action action = new NotificationCompat.Action(R.drawable.ic_launch, getString(R.string.launch_activity), activityPendingIntent);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);
Notification notification = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID)
.setContentTitle("App is running in background")
.addAction(action)
.addAction(action2)
.setColor(getColor(R.color.foreGroundBackgroundColor))
.setPriority(NotificationManager.IMPORTANCE_HIGH)
.setCategory(Notification.CATEGORY_SERVICE)
.setSmallIcon(R.drawable.applogo)
.build();
您应该在完成活动之前关闭对话框
Dialog.dismiss();
希望可能会有所帮助。你为什么要使用
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
就叫
finish();
点击按钮Hey@Usama Altaf感谢您的重播!它仍然不起作用。是的,你是对的,但应该有有限性;没有完成();嘿@Abhnav Maurya谢谢你的回复!如果我只使用finish();它向我显示最近的应用程序菜单,而不是灰色屏幕,我可以看到活动正在运行..当我通过最近的应用程序输入我的应用程序时,它刚刚崩溃..@Mr.Goomer你能发送日志吗?运行应用程序。到达此对话框。然后重新打开应用程序。有限性();将关闭所有正在运行的活动。这个问题可能存在于其他活动中。例如main或您的splash。这是恢复开始前的日志:它不应该恢复,而是从第一个活动开始启动应用程序。。谢谢你移动了意图代码。当某些活动出现在前面,用户返回应用程序时,onResume将运行。如果应用程序在后台(最小化),则应用程序从onCreate启动。
finish();