繁体   English   中英

在Android上关闭“用作对话框”的活动

[英]Close acivity 'used as dialog' on Android

我有一个活动,用作自定义加载对话框 (该对话框非常复杂,并且具有自定义UI,适合用户的配色方案等)。

加载对话框是从类创建并显示的,而不是从Activity类派生的(我要提到的是因为无法调用startActivityForResult() ):

  private void showLoadingDialog()
  {
    Intent intent = new Intent( this, ActivityDialogLoading.class );
    intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); 
    startActivity( intent );
    isLoadingDialogShown = true;
  }

当应用程序在后台执行长时间运行的异步任务时,将显示该对话框。

现在,当后台任务完成时,我想关闭加载对话框 (加载对话框还有“ 取消”按钮,因此客户端可以中断任务,但这是另一回事了)。

我没有找到一种方法来获取对正在运行的ActivityDialogLoading类的实例的引用以调用finish()方法...

我使用的方式有点复杂-我重写了BroadcastReceiver,因此它在构造函数中引用了ActivityDialogLoading ActivityDialogLoading的onResume()方法我注册为广播意图的接收器。

当我需要关闭加载对话框时,我会广播意图...还有更好的方法吗? 换句话说:当关闭动作是由应用程序引擎中的某些后台事件引起的时,关闭活动的最佳方法是什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM