Удалить из лаунчера, НО держать включенным / запускаемым - PullRequest
1 голос
/ 18 февраля 2011

я пытался кодировать его, я пытался решить его с помощью Google и StackOverflow, ничего не нашел: ad (основное приложение) / adfree-pro (только лицензия запускает рекламное приложение без рекламы; P)

, поэтому проблема в том, что я хочу иметь в лаунчере профессиональную версию (со значком pro), который запускает обычное рекламное приложение, которое (обычное рекламное приложение) не находится в панели запуска.

я попытался удалить рекламное приложение из панели запуска (что по моим исследованиям должно быть ПРОСТОудалите его из модуля запуска)

pkgMgr.setComponentEnabledSetting (новое имя_компонента (PACKAGE_NAME, PACKAGE_NAME + ".Main"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 101_P * * * * 1012P)что приводит к: значки в панели запуска правильные;) НО приложение не может быть найдено на телефоне, запущено, запущено, даже без ярлыка активности Launcher Pro.кажется, что он есть (ярлыки могут быть созданы), но я вылетаю с исключением активности, когда пытаюсь его запустить.

02-18 14: 38: 59.237: ОШИБКА / AndroidRuntime (9941)Вызвано: android.content.ActivityNotFoundException: Невозможно найти явный класс действий {PACKAGE_NAME / PACKAGE_NAME.Main};Вы объявили об этом в своем файле AndroidManifest.xml?

, который, кажется, не принадлежит (сообщение об ошибке), похоже, что с приложением произошло нечто большее, чем просто удаление записи в модуле запуска.

большое спасибо, ребята, каждый обходной путь в этой ситуации приветствуется :) с уважением :) 1025 *

Ответы [ 2 ]

0 голосов
/ 26 января 2013

НО приложение не может быть найдено на телефоне, запущено, запущено, даже не с ярлыком про активность launcher.

Не приложение, а деятельность.

Итак, если ваша LAUNCHER активность равна BaseActivity, вы можете создать что-то вроде BaseFakeActivity (не забудьте установить в вашем манифесте значение LAUNCHER вместо BaseActivity) и использовать только одну это начать свой BaseActivity, а затем finish() сам.

Теперь вы можете скрыть свой BaseFakeActivity, но вы все равно сможете взаимодействовать с вашим BaseActivity.

P.S .: Не забудьте проверить поведение вашего приложения после того, как вы все так сделаете;)

0 голосов
/ 18 февраля 2011

Вы не можете установить приложение и скрыть его значок запуска.То, как я обращаюсь к этому с моим приложением, которое работает аналогично вашему, я не пытаюсь бороться с иконками, но вместо этого приложение может быть запущено с помощью значка эфира.Очевидно, что вам не нужно делать это в основном (бесплатном) приложении, и код, который запускает приложение из вашей профессиональной иконки, будет выглядеть примерно так:

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    // check if main app is installed. If yes then start it
    if (appExists()) {
        Log.d(TAG, "Started main app from Pro");
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("myapp://com.myapp.main"));
        startActivity(intent);
        finish();
    } else {
        // display view with link back to Market 
        onAppNotExists();
    }
}

Вы должны реализовать appExists()что, вероятно, является своего рода проверкой лицензии

Конечно, в качестве альтернативы вы можете разработать общий код вашего приложения в виде проекта библиотеки , а затем распространять его в 2 вариантах без дублирования кода

...