【问题标题】:how to maximize the application on an event?如何在事件中最大化应用程序?
【发布时间】:2012-08-30 20:05:45
【问题描述】:

我已经使用这个最小化了我的应用程序..

                Intent startMain = new Intent(Intent.ACTION_MAIN);
                startMain.addCategory(Intent.CATEGORY_HOME);
                startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(startMain);

应用处于最小化状态时正在等待某个事件。发生某些广播事件时如何返回应用活动?

我可以从广播接收器类(使用之前传递给它的对象)访问最小化的活动,但它在主屏幕的背景中运行。

Android 最终会杀死最小化的应用程序吗?

【问题讨论】:

  • 我不想开始新的活动...重新打开最小化的...
  • 不,你没有minimized你的应用程序。 android中没有这样的东西。
  • 在清单中的活动标签中添加这个 android:launchMode="singleInstance"
  • @Webnet,Eldhose 的代码对我有用。谢谢 Sathya,Eldhose

标签: android android-intent android-activity


【解决方案1】:
Intent homeIntent = new Intent(this, HomeActivity.class);
homeIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(homeIntent);

这将启动 HomeActivity,如果该 Activity 仍在内存中,它将把它带到前面。

【讨论】:

  • 不提flag不也是一样的效果吗?
  • 如果历史中有activity的实例,则不会启动新的activity实例
  • 我明白了,我将我的活动定义为单实例,这就是为什么我没有看到任何差异。
  • 这是一个完美的答案
【解决方案2】:

您可以使用 Intent 再次启动活动。

例子:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
startActivity(intent);

【讨论】:

  • 我希望我能。我现在无法选择它作为正确答案(猜测是因为声誉低下)。我会尽快标记它。
【解决方案3】:

如果您想最大化您需要用户界面的应用程序,那么您可以在通知栏中添加您的应用程序,一旦用户点击通知栏,您可以在您的 word 中打开可以最大化相同的应用程序。将您的应用程序添加到通知栏中,您可以获得许多教程:

Notification

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 2021-11-13
    • 2010-09-22
    相关资源
    最近更新 更多