所以我有一个服务,它启动一个显示为弹出窗口的 Activity ,感谢“android:style/Theme.Dialog”
此 Activity 显示一个 ListView ,其中包含应用程序列表。 在 ListView 的每个元素上,都有应用程序的简短描述和两个按钮。 1 用于启动应用程序 2 用于显示包含更多信息的 toast。
这是我的服务中的代码:它启动 Activity
Intent intent = new Intent(this, PopUpActivity.class);
intent.addFlags(Intent.FLAG_DEBUG_LOG_RESOLUTION);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(intent);
此 Activity 使用自定义布局,带有 ListView ,并使用自定义 ArrayAdapter 进行调整
在此适配器中,我在开始按钮上添加了一个操作以启动当前应用程序
Button lanceur = (Button) v.findViewById(R.id.Buttonlancer);
lanceur.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
p.start(mcontext);
}
});
通过 p.start,我启动应用程序。
但是现在,如果我从应用程序中按“返回”,我将返回到弹出窗口...并且我可以启动另一个应用程序。我不希望它成为可能。
这就是为什么我希望我可以解除/销毁/完成我的 PopupActivity,但我无法用我拥有的代码来做到这一点。
最佳答案
这可以通过 startActivityForResult()
来完成和onActivityResult()
Intent intent = new Intent(this, PopUpActivity.class);
intent.addFlags(Intent.FLAG_DEBUG_LOG_RESOLUTION);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivityForResult(intent,1);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d("CheckStartActivity","onActivityResult and resultCode = "+resultCode);
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
this.finish();
}
并在AndroidManifest.xml中添加:
<activity android:name=".PopUpActivity" android:noHistory="true" />
关于android - 关闭显示为弹出窗口的 Android Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11264232/