android - 关闭显示为弹出窗口的 Android Activity

标签 android popup android-listview android-activity

所以我有一个服务,它启动一个显示为弹出窗口的 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/

相关文章:

android - ListView 中 Imageview 的选择器

java - ListView - getView 被调用太多次

android - 替换系统库

css - 纯 CSS 悬停框移动页面文本

弹出对话框更新数据库后的Android更新Mainactivity ListView

windows - 有没有办法在 Windows 10 上触发来自 Vala MSYS2 的弹出通知?

java - Android 没有资源匹配 android :windowIsFloating

Android - 单击按钮从 ListView 中删除一行

android - 使用onAudioFocusChange停止其他音乐应用

android - 在 Google Map Android 中设置更新位置的时间