【问题标题】:Android app restarts when user clicks on its icon [duplicate]当用户单击其图标时,Android应用程序会重新启动[重复]
【发布时间】:2012-11-14 20:09:48
【问题描述】:

据我所知,默认情况下,当用户单击其图标时,android 应用程序会恢复。

但由于某种原因,我的应用(我希望具有相同的行为)重新启动。

当我按住主页按钮然后从“最近”中选择我的应用程序时,我会恢复它。 我希望在单击应用程序图标时具有相同的行为。

其实和https://groups.google.com/forum/?fromgroups=#!topic/android-developers/UjWcsFMe6ik是一样的 但他们没有找到答案

更新: 清单:

<?xml version="1.0" encoding="utf-8"?>

<uses-sdk a:minSdkVersion="10" a:targetSdkVersion="11"/>

<uses-permission a:name="android.permission.INTERNET"/>
<uses-permission a:name="android.permission.ACCESS_FINE_LOCATION"/>

<application a:label="@string/app_name"
             a:theme="@android:style/Theme.NoTitleBar"
             a:name="myapp.AppDelegate">

    <activity a:name="myapp.activities.AuthorizationActivity"
              a:label="@string/app_name"
              a:screenOrientation="portrait"
              a:alwaysRetainTaskState="true">
        <intent-filter>
            <action a:name="android.intent.action.MAIN"/>
            <category a:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>


    <activity a:name="myapp.activities.activity1"
              a:screenOrientation="portrait"/>

    <activity a:name="myapp.activities.activity2"
              a:screenOrientation="portrait"/>
    ...

    <activity a:name="myapp.activities.activityN"
              a:screenOrientation="portrait"/>

    <service a:name="myapp.location.LocationService"/>

</application>

【问题讨论】:

标签: android


【解决方案1】:

一切都与 IDE 有关。 关闭由 IDE(eclipse 或 IDEA - 无关紧要)启动的应用程序后,Android 会删除所有临时数据(不要问我为什么)

所以解决办法是:

1) run app from ide (deploy it on device)
2) press back button to close an app
3) start an app again
...
and now it will resume working after quitting

【讨论】:

    【解决方案2】:

    检查您的活动的启动模式。如果它的 singleTask 则使其成为标准然后检查它。

    【讨论】:

    • 我根本没有指定启动模式。在我的主要活动中添加了 android:launchMode="standard" - 没有解决问题
    【解决方案3】:

    单击应用图标会将包含主要活动的任务带到最前面。

    要获得所需的行为,请确保您的所有活动都属于同一个任务,即不要在任何活动上使用 singleTask 或 singleInstance。

    【讨论】:

    • 我一个都不用。我的应用程序中唯一的“其他进程”部分是在关闭我的应用程序后继续运行的服务。没关系。
    • 你用来开始新活动的代码是什么样的?
    猜你喜欢
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多