我的Android应用会在检测到某种行为时启动Activity
,此行为是从非活动类中的某些处理达到的,所以我要启动来自该non_Activity类的所需活动,并且由于我将设置FLAG_ACTIVITY_NEW_TASK
Intent标志,否则App将崩溃,这是从该non_Activity类启动所需活动的代码:< / p>
Intent menuIntent = new Intent(MyApplication.getAppContext(), Connection.class);
menuIntent.putExtra("EXIT", false);
menuIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MyApplication.getAppContext().startActivity(menuIntent); // MyApplication.getAppContext() is a class used to get the current context
活动有效运行但是当按下该活动中的取消按钮时,应用程序必须返回或重新启动上一个活动才能启动此活动(不管这最后一个活动是什么),而不是我当前正在运行的活动重新加载,这是我返回上一个活动的代码:
Button cancel = (Button)findViewById(R.id.cancel);
cancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// do some stuff
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startService(intent);
}
});
我还尝试拨打finish()
但也没有工作(给我相同的结果),也尝试用startService(intent);
替换startActivity(intent);
但这使我的应用崩溃因为意图不包含任何活动。