标签: activity-finish

Android从父母的活动中关闭子活动

我想从父活动中关闭子活动.我的流程就像活动A在活动AI打开活动B中打开.但同时我的活动A正在做一些后台任务.当我得到后台任务的结果时,我想关闭活动A中的活动B.

是否可以这样做.需要帮忙.谢谢.

android parent-child activity-finish

12
推荐指数
2
解决办法
7042
查看次数

完成对话框类中的活动

在我的MainActivity电话里

 myDialog dialog = new myDialog(MainActivity.this);
 dialog.show();
Run Code Online (Sandbox Code Playgroud)

myDialog是我自己的类,我自定义对话框.在对话框中是一个按钮.我希望MainActivity按下按钮时对话框完成/消失,因为我启动了另一个Activity.我怎么能在myDialog课堂上onClickListener说,MainActivity应该finish()呢?

缩短我对话框的代码:

public class myDialog extends Dialog implements OnClickListener {

    void onClick() {
        Intent menu = new Intent(getContext(), menu.class);
        getContext().startActivity(menu);
    }
}
Run Code Online (Sandbox Code Playgroud)

android dialog activity-finish

11
推荐指数
2
解决办法
2万
查看次数

如何在按下主页按钮时完成()一个活动

由于一个复杂的原因,我需要能够在用户按下HOME按钮时完成()我的活动.

这里的故事是我有一个主屏幕小部件,它启动了我的应用程序的不同部分,它具有完全透明的活动(因此即使我的活动正在运行,主屏幕仍会显示).如果先前的活动通过"主页"按钮终止,则它们将被带到前台并遮盖主屏幕.

或者作为替代方案,我可以以某种方式强制完成()之前的活动吗?

android activity-finish android-activity

9
推荐指数
1
解决办法
2万
查看次数

关闭应用程序时调用的方法是什么

我阅读了有关活动生命周期及其方法的所有内容.

我仍然无法找到答案:当我关闭我的应用程序时,从"打开应用程序"菜单(在galaxy4中长按主页按钮,在nexus5中它是正确的按钮......)正在调用什么方法?如果有的话?

换句话说,我的活动是启动服务.我想在关闭app(活动)时终止服务.(onDestory根本不可靠,如前所述多次)

提前致谢!

android activity-finish android-activity

8
推荐指数
2
解决办法
8759
查看次数

调用finish()不会完成活动

我想在特定原因暂停时完成我的活动.直到最近,我的代码工作正常,但最近由于finish()某种原因,该方法停止了它的工作.此外,finish()调用该方法时,我收到以下LogCat消息:

12-31 18:01:23.445: W/ActivityManager(481): Duplicate finish request for ActivityRecord{42465370 u11 "myapplicationpackage"}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

OnPause() 方法

@Override
protected void onPause() {
    super.onPause();
    finish();
}
Run Code Online (Sandbox Code Playgroud)

android onpause activity-finish

7
推荐指数
1
解决办法
7882
查看次数

在API级别低于21的情况下使用Activity类的finishAndRemoveTask()方法

我需要从最近使用的应用列表中删除应用.API级别21及以上版本没有问题.我使用finishAndRemoveTask()方法.但是这个方法不能用于比21更爱的API级别.如何在比21级更爱的API级别上调用该方法?

我尝试了解决方案,但它们不起作用:

关闭应用并从最近的应用中删除/

android systemexit activity-finish

7
推荐指数
1
解决办法
3139
查看次数

我应该在去另一个活动之前总是完成一项活动吗?

finish()在去另一项活动之前,你总是打电话给某些活动吗?

例如,为了防止用户通过移动后退按钮进入上一个活动,有些人建议您应该完成除主要活动之外的所有活动.这样,后退按钮总是返回主活动(或您认为应该导航用户的任何其他活动).这是通过覆盖后退按钮行为来完成的.

不好的事情是当Handler运行一个对话框,试图在活动结束后运行(http://dimitar.me/android-displaying-dialogs-from-background-threads/).

你对这个问题的经验法则是什么?finish()以更智能的方式拨打电话或覆盖后退按钮,将用户引导至您选择的页面?

android dialog activity-finish android-activity

6
推荐指数
1
解决办法
2182
查看次数

完成特定活动的所有实例

应用程序中可以有许多活动,最后一次启动的活动保持在堆栈顶部,按下它完成当前活动.我有一系列活动,这里是流程..

如果我们有A,B,C(1),D,C(2) ......活动C(1)和C(2)是在导航应用程序时启动的两个不同的活动实例.那么必要的是清除活动C的所有实例,结果应该是当我完成C(2)时我应该留下这些堆栈A,B,D.我该怎么办 .

IMP -I希望将C(1)保持在堆栈中,直到我完成C(2),因为我可以使用New Task标志启动C而不是创建这些实例,但这些实例具有不同的UI和工作.

以下方法不利.

第一

@Override
public void onBackPressed(){
    super.onBackPressed();
    Intent intent = new Intent(C(2).this , D.class);    
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
    startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

这将清除Stack中的所有活动并重新启动Activity

第二

在单例类中保持Activity的跟踪,然后重新启动所需的流,这将消耗有许多活动要启动的时间.

所以我认为应该有一些解决方案使用包管理器或其他解决问题,解决方案是值得赞赏的

android instance activity-stack activity-finish

6
推荐指数
1
解决办法
2164
查看次数

完成其中启动待处理意图的活动

在我的应用程序中,我创建了一个自定义通知,其中包含一个显示最近使用的应用程序的按钮(而不是长按主页按钮)

当用户打开主活动并按主页按钮转到主屏幕时,拖动通知抽屉并单击按钮:

期望的结果是显示最近的应用程序,并且主要活动是最近的应用程序之一。

实际结果是显示最近的应用程序,但主要活动不在其中,并且主要活动恢复。

我的代码启动“RecentApps(是一个显示最近应用程序的虚拟类)”类,具有待定意图

    Intent recentAppIntent = new Intent(getBaseContext(), RecentApps.class);
    PendingIntent pendingrecentAppIntent = PendingIntent.getActivity(getBaseContext(), 1, recentAppIntent, 0);
    notificationView.setOnClickPendingIntent(R.id.recentAppButt, pendingrecentAppIntent);
Run Code Online (Sandbox Code Playgroud)

我认为问题在于 getBaseContext,因此当主要活动处于活动状态且未完成时,会显示最近的应用程序,但上下文是主要活动。

我尝试了 getApplication 和 getApplicationContext 但不起作用。

我还尝试使用“recentAppIntent”标志,但它不起作用,这是使用的一半解决方案

recentAppIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
Run Code Online (Sandbox Code Playgroud)

但这不是我需要的。

所以,我的问题是“如何完成待定意图开始的主要活动”。

提前致谢,穆斯塔法

android android-intent activity-finish android-pendingintent

6
推荐指数
1
解决办法
4953
查看次数

Android - 如何结束片段

在我的应用程序中,我有一个导航抽屉,我的应用程序的工作方式是只有一个活动,如果您从导航抽屉中选择一些东西,它会启动/替换当前片段.我怎样才能这样做,以便当从导航抽屉中选择某些内容并且新片段开始时,旧片段结束

我不能

@Override
public void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    getActivity().finish();
}   
Run Code Online (Sandbox Code Playgroud)

因为只有一项活动会杀死应用程序.

我如何杀死片段?

编辑:我的片段交易

Home HomeFragment = new Home();
        transaction.replace(R.id.llhome, HomeFragment);
        transaction.addToBackStack(null);
        transaction.commit();
              mDrawerList.setItemChecked(position, true);
                mDrawerLayout.closeDrawer(mDrawerList);
Run Code Online (Sandbox Code Playgroud)

谢谢

java android android-fragments onpause activity-finish

5
推荐指数
2
解决办法
2万
查看次数