【问题标题】:How can I resume a running activity?如何恢复跑步活动?
【发布时间】:2011-07-03 10:54:57
【问题描述】:

我给自己做了一个应用:一个带有自动书签的音乐播放器:)

问题:

如果我“返回”到主页然后尝试再次运行应用程序,它会创建一个新实例,而我想继续。我可能会在做其他事情时让音乐继续播放,然后我无法暂停或保存它,因为我无法访问它!

失败的解决方案:

我试过singleTop、singleTask、singleInstance,它们都不起作用!

我可以查看正在运行的应用程序(设置 > 应用程序 > 管理应用程序 > 运行),但它只能让您“强制停止”它们。 “上前”怎么样?!此外,当我完成()我的应用程序时,我注意到它仍在“运行”!

这个网站非常棒和有用,这是我的第一个问题 :) 我寻找答案,但找不到任何有效的答案 :(

这是清单:

<application android:icon="@drawable/icon"
android:label="@string/app_name">

<activity android:name="Fire"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:launchMode="singleTop">

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

【问题讨论】:

    标签: android resume launchmode


    【解决方案1】:

    默认情况下返回关闭活动。您可以通过捕获 BACK 键来覆盖此行为,但在您的情况下,您确实需要服务而不是活动来播放音乐并控制它。当你把它放在 BACK 上时,Activity 就会被销毁......

    在此处阅读更多信息:http://developer.android.com/guide/topics/fundamentals/services.html

    【讨论】:

    • 所以你不能一边运行应用一边做其他事情吗?然而,除非你强行阻止它们,否则应用程序只会继续运行?!
    • 非常感谢,如果我点击 HOME 而不是 BACK,我发现它恢复正常 :D 我不知道 BACK “杀死”它 - 更像是隐藏它。
    • 就是这样 - 这是关于活动,而不是应用程序。活动与您在屏幕上看到的内容非常相关,按 BACK 是一个信号“我想退出活动”,其中 HOME 是(我想切换到其他东西......这可能有点令人困惑,但就是这样......
    • 除非它有正在运行的服务,或者一些后台线程,或者内容提供者,或者广播接收器,或者期望其他应用程序向它发送意图并快速将它带回来。 Activity 只是 Android 组件的一小部分。并且这样的应用程序没有任何这些额外的元素并且 Activity 是不可见的,当它需要其他人的内存时,它是第一个被系统杀死的候选者。这就是 Android 管理正在运行的应用程序的方式。
    • 我最喜欢的部分是它如何让“关闭”的应用程序持续运行,直到内存耗尽。 然后它会关闭它们。老实说...但是感谢您提供的信息,这确实有些道理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多