Добавление своего приложения в раздел «Добавить на главный экран» / «Ярлык» - PullRequest
2 голосов
/ 22 июля 2010

В моем приложении для Android я создаю ярлыки кода для некоторых действий в моем приложении.Я делаю эту функцию с помощью трансляции:

    intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    sendBroadcast(intent);

, и это круто, это действительно работает!

Теперь я хотел бы сделать что-то другое: я видел, что некоторые действия могут "зарегистрироваться"где-то, чтобы быть добавленным в меню Android, когда вы долго нажимаете на Home, как этот:

http://www.androidtapp.com/wp-content/uploads/2010/02/UltimateFaves-Add-Home-Screen-Shortcut.jpg

Так что мой главный вопрос следующий:

Как это возможно, чтобы зарегистрироваться для этого меню.Я думаю, что есть какая-то строка для добавления в манифест, но я не вижу, где это можно сделать!

Большое спасибо за любую помощь!

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

Ответы [ 2 ]

8 голосов
/ 22 июля 2010

Только что нашел мой ответ в примерах SDK:

    <!-- This section of sample code shows how your application can add shortcuts to -->
    <!-- the launcher (home screen).  Shortcuts have a three step life cycle. -->

    <!-- 1.  Your application offers to provide shortcuts to the launcher.  When -->
    <!--     the user installs a shortcut, an activity within your application -->
    <!--     generates the actual shortcut and returns it to the launcher, where it -->
    <!--     is shown to the user as an icon. -->

    <!-- 2.  Any time the user clicks on an installed shortcut, an intent is sent. -->
    <!--     Typically this would then be handled as necessary by an activity within -->
    <!--     your application. -->

    <!-- 3.  The shortcut is deleted.  There is no notification to your application. -->

    <!-- In order provide shortcuts from your application, you provide three things: -->

    <!-- 1.  An intent-filter declaring your ability to provide shortcuts -->
    <!-- 2.  Code within the activity to provide the shortcuts as requested -->
    <!-- 3.  Code elsewhere within your activity, if appropriate, to receive -->
    <!--     intents from the shortcut itself. -->

    <activity android:name=".LauncherShortcuts"
              android:label="launchers">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.SAMPLE_CODE" />
        </intent-filter>

    </activity>

    <!-- It is recommended that you use an activity-alias to provide the "CREATE_SHORTCUT" -->
    <!-- intent-filter.  This gives you a way to set the text (and optionally the -->
    <!-- icon) that will be seen in the launcher's create-shortcut user interface. -->

    <activity-alias android:name=".CreateShortcuts"
        android:targetActivity=".LauncherShortcuts"
        android:label="test">

        <!--  This intent-filter allows your shortcuts to be created in the launcher. -->
        <intent-filter>
            <action android:name="android.intent.action.CREATE_SHORTCUT" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
1 голос
/ 17 января 2011

Что касается вашего дополнительного вопроса:

Я не знаю, как добиться именно того, о чем вы просите, но одно из возможных решений может состоять в том, чтобы ваша операция CreateShortcuts (или эквивалентная) открыла диалоговое окно с возможными вариантами, из которых ваша деятельность вернула бы ярлык соответствующий выбранному элементу. Конечно, с некоторой дополнительной информацией (см. Intent.putExtra ()), подробно описывающей, какой элемент, в вашем случае, пользователь Twitter, выбранный пользователем.

...