Я ищу способ запуска приложения при открытии непосредственно с рынка Android, но не поддерживающего активность в меню запуска. Я подумал, что, используя следующие параметры, я смог бы добиться этого:Создание основной деятельности, которая НЕ отображается в списке запуска.
<activity android:name="com.package.test.MyActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
Тем не менее, кажется, что с этими настройками Активности по-видимому, даже не существует в приложении - это не может быть открыт из рынок и не появляется в меню запуска. Однако, просто добавив:
<category android:name="android.intent.category.LAUNCHER" />
Приложение делает оба. Проблема в том, что я хочу, чтобы активность запускалась с рынка, но я не хочу этого в меню запуска.
Может ли кто-нибудь просветить меня, как это можно достичь?
Немногих пользователей собираются найти свою деятельность в дальнейшем, посетив рынок листинга, потому что они не используются для открытия приложений через рынок в любое время после первоначальной установки. Это означает, что у них будет в принципе ** один шанс ** открыть вашу деятельность - сразу после установки. Многие этого не сделают, потому что они не хотят открывать ваше приложение в этот момент. Следовательно, даже если это возможно (и из вашего описания, я подозреваю, что это не так), вы просто просите о множестве «-го слота» с рейтингом одной звезды. Я предлагаю вам пересмотреть свой подход. –
CommonsWare
Идея состоит в том, что активность только когда-либо нужно будет открывать один раз, и даже поэтому она не является обязательной (это вспомогательная активность для живых обоев - предполагается, что пользователь уже знает, как применять живые обои, и если они разве они не смогут открыть его с рынка, не загромождая их меню пусковой установки). – AaronDS
Во-первых, убедитесь, что живые обои будут использоваться на Android 3.1+ без запуска пользователем активности. В настоящее время многие вещи отключены на уровне 3.1+, пока они не запускают активность. Во-вторых, подумайте о том, чтобы оставить деятельность в одиночку с самого начала и скрыть ее от пусковой установки и использовать 'PackageManager' и' setComponentEnabledSetting() ', если это практично, учитывая природу ваших обоев. – CommonsWare