Приложение Launcher и домашний ключ не соответствует
-
12-12-2019 - |
Вопрос
Я создавал приложение для установки со многими видами деятельности.Я хочу, чтобы домашняя кнопка всегда привезти пользователь обратно в основную активность, когда нажата домашний клавиш, и у них есть мое приложение, установленное в качестве запуска по умолчанию.Это работает 90% времени, но через некоторое время домашний ключ в конце концов перестает работать .. Он регистрирует прессу пользователя, но больше не возвращает их в основную активность.Какие причины это уклонялось мне .. Мы пробовали несколько месяцев, чтобы воссоздать ошибку с какой-то консистенцией, но безрезультатно.Мы не можем выяснить, что заставляет его перестать работать .. ниже мой манифест.Мне интересно, если мне не хватает какого-то флага или что-то.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sapientnitro.lcinstore2"
android:configChanges="keyboard|uiMode"
android:versionCode="4"
android:versionName="4.0" >
<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-feature android:name="android.hardware.camera" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<activity
android:name=".activities.LCInStore2Activity"
android:alwaysRetainTaskState="true"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activities.MainActivity"
android:configChanges="keyboard|uiMode"
android:label="Main"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.MAINACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.Authenticate"
android:label="Authenticate"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.AUTHENTICATE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.Settings"
android:label="Settings"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.CustomerHome"
android:label="CustomerHome"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.CUSTOMERHOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.CustomWebView"
android:label="CustomWebView"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.CUSTOMWEBVIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.CustomCamera"
android:label="CustomCamera"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.CUSTOMCAMERA" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.FavoritesCustomer"
android:label="FavoritesCustomer"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.FAVORITESCUSTOMER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.FavoritesAssociate"
android:label="FavoritesAssociate"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.FAVORITESASSOCIATE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.Browser"
android:hardwareAccelerated="true"
android:label="Browser"
android:screenOrientation="landscape" >
<!-- android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> -->
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.BROWSER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.VideoViewer"
android:label="Video Viewer"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.VIDEOVIEWER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.GalleryOneUp"
android:label="GalleryOneUp"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.GALLERYONEUP" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.GalleryFourUp"
android:label="GalleryFourUp"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.GALLERYFOURUP" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.GeneralRx"
android:focusable="true"
android:focusableInTouchMode="true"
android:label="GeneralRx"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.GeneralRX" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.SunglassRx"
android:focusable="true"
android:focusableInTouchMode="true"
android:label="SunglassRx"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.SunglassRX" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.ComputerRx"
android:focusable="true"
android:focusableInTouchMode="true"
android:label="ComputerRx"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.ComputerRX" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.NightGlassesRx"
android:focusable="true"
android:focusableInTouchMode="true"
android:label="NightGlassesRx"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.NightGlassesRX" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.ActiveRx"
android:focusable="true"
android:focusableInTouchMode="true"
android:label="ActiveRx"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.ActiveRX" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.SafetyRx"
android:focusable="true"
android:focusableInTouchMode="true"
android:label="SafetyRx"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.SafetyRx" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.ContactRx"
android:focusable="true"
android:focusableInTouchMode="true"
android:label="ContactRx"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.ContactRx" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.SettingsRx"
android:focusable="true"
android:focusableInTouchMode="true"
android:label="SettingsRx"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.SettingsRX" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<receiver android:name=".SettingsReceiver" >
</receiver>
<activity
android:name=".activities.CEETraining"
android:label="@string/title_activity_ceetraining"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.CeeTraining" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.BrandTraining"
android:label="@string/title_activity_brand_training"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.BrandTraining" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.LensTraining"
android:label="@string/title_activity_lens_training"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.LensTraining" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.MakeAbility"
android:label="@string/title_activity_makeability"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.Makeability" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activities.MakeabilityResults"
android:label="@string/title_activity_makeability_results"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.sapientnitro.lcinstore2.activities.Makeabilityresults" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
. Решение
Я считаю, что проблема, которую вы можете решить, сделав основную деятельность вашей домашней замены одной задачей.
Чтобы сделать то, что вы добавили следующую строку в свой манифест как часть основной деятельности: launchMode="singleTask"
Описание того, что это делает можно найти здесь .
Теперь всякий раз, когда ваше приложение получает пресс-мероприятие для домашнего ключа, и приложение не работает, он начнет новый экземпляр с onCreate
.Если приложение уже работает на переднем плане или в подвесном состоянии, onNewIntent
будет вызываться в вашей основной активности, и он будет доведен до фронта.