Приложение для запуска Android не обнаруживает ключ Home после подписи с хранилищем ключей
Я создаю приложение запуска в Android Ice Cream Sandwich.
У меня есть 3 мероприятия. Вот как они объявлены в файле манифеста.
<activity
android:label="@string/app_name"
android:name=".ActivityOne"
android:theme="@android:style/Theme.Light.NoTitleBar"
>
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activitytwo"
android:theme="@android:style/Theme.Light.NoTitleBar">
</activity>
<activity android:name=".ActivityThree"
android:theme="@android:style/Theme.Light.NoTitleBar">
</activity>
После установки apk в телефоне и нажатия клавиши "Домой" в системной панели я перехожу в "ActivityOne". Это работает отлично.
Затем я создал ключ для подписи apk. Экспортировал проект из Eclipse и подписал apk. Теперь нажатие клавиши Home не имеет никакого эффекта.
Мне нужно, чтобы приложение работало так же, как было, после подписания.
Есть идеи?
2 ответа
Решение
Решил это.
Добавление следующей строки в манифест под тегом активности решает проблему.
android:launchMode="singleTask"
<activity
android:label="@string/app_name"
android:name=".ActivityOne"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Light.NoTitleBar"
>
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Просто удалите две строки
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT" />
от вашей деятельности
<intent-filter >
...
...
</intent-filter>