繁体   English   中英

应用启动器可从Android开始重新加载

[英]App launcher to reload from beginning in Android

我已经创建了可以像家用启动器一样运行的应用程序。 因此,当用户单击“主页”按钮时,我会使用启动器或应用名称来完成操作,例如“ myhomelauncher”。

当我单击主页按钮并单击myhomelauncher时,我的应用程序从一开始就加载了所有内容。 现在,当我进入应用程序的第二个屏幕时,说我正在查看应用程序中的活动2,现在我单击“主页”按钮,然后单击“ myhomelauncher”,我得到的活动2窗口仍未重新加载。 (它应该重新加载并显示活动1而不是2)

我已经看到很多可以在每次单击启动器时重新加载的应用程序。 为什么不是我的?

这是我在manifest.xml中所做的

<activity
    android:name=".MyLauncher"
    android:label="@string/app_name"
    android:persistent="true"
    android:screenOrientation="landscape">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

我不确定错误在哪里?

查找launchMode 但是要小心,权力越大,责任就越大。

这是似乎对我有用的清单中的相关部分。 请注意,我已将singleInstance置于启动模式,因为我永远都不想拥有一个以上的应用程序。

<application  android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".usbEffects" 
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"                
                android:windowSoftInputMode="stateAlwaysHidden" 
                android:screenOrientation="portrait"
                android:launchMode="singleInstance"
                android:configChanges="keyboardHidden|orientation"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>

请查看文档-以下问题可能是您感兴趣的问题:

我怀疑将android:launchMode设置为singleTask可以解决您的问题,但请务必小心这将导致哪些副作用。

所以:

<activity
    android:name=".MyLauncher"
    android:label="@string/app_name"
    android:persistent="true"
    android:screenOrientation="landscape"
    android:launchMode="singleTask">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

应该可以。

暂无
暂无

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

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