Как поддержать закрепление ярлыка в пользовательском Launcher? - PullRequest
0 голосов
/ 23 февраля 2020

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

До сих пор я только мог узнать, что приложения нужно проверить, поддерживается ли закрепление ярлыка, вызвав isRequestPinShortcutSupported () из ShortcutManager, а затем отправить запрос, вызвав requestPinShortcut () - но как мне реализовать другую сторону этого?

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

Единственной полезной вещью, которую я смог найти, был LauncherApps.PinItemRequest, который можно создать из Intent, но я не могу найти, как получить это намерение.

1 Ответ

0 голосов
/ 23 февраля 2020

Хорошо, я должен был изучить android исходный код для этого, но я понял, что мне нужно создать Activity следующим образом:

<activity android:name=".Activities.AddShortcutActivity">
    <intent-filter>
        <action android:name="android.content.pm.action.CONFIRM_PIN_SHORTCUT" />
    </intent-filter>
 </activity>

А затем в onCreate () этой деятельности я могу вызвать

LauncherApps().getPinItemRequest( this.getIntent() );

//handle request...

this.finish();

и делай все, что мне нужно с этим запросом. Надеюсь, это кому-нибудь поможет.

...