Запуск других Android приложений из моего приложения и только моего приложения - PullRequest
0 голосов
/ 04 августа 2020

У меня есть набор приложений, и я собираюсь создать своего рода «хост-приложение», которое сможет загружать и запускать их. Я знаю, как запускать приложения и загружать их из разных источников из своего приложения, но теперь я обдумываю, как я хочу, чтобы пользователь мог получить доступ к этим приложениям.

Может быть, я хочу, чтобы они приходите в мое хост-приложение каждый раз. В этом случае мне любопытно, можно ли загрузить эти приложения, но не отображать их в других местах на их устройстве. Единственный способ запустить приложение - это вернуться в мое хост-приложение и щелкнуть его там. Кто-нибудь знает, возможно ли это на Android?

Я мог бы представить, что смогу сделать это, упаковав весь код в одно огромное приложение, очевидно, это не очень желательно. Особенно учитывая, что я хочу дать пользователю возможность загружать только те приложения, которые им нужны.

Эта идея находится на очень ранней стадии и не имеет каких-либо жестких или строгих ограничений, поэтому я готов адаптироваться к возможностям и лучшим практикам. Любой разговор или информация о чем-либо, связанном с этими темами, приветствуются.

1 Ответ

0 голосов
/ 05 августа 2020

Обычно основное действие приложения имеет такую ​​запись в своем манифесте:

    <activity  
        android:name=".MainActivity"  
        android:label="@string/title_activity_main" >  
        <intent-filter>  
            <action android:name="android.intent.action.MAIN" />  

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

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

    <activity  
        android:name=".MainActivity"  
        android:label="@string/title_activity_main" 
        android:exported="true">  

    </activity>  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...