2012-03-28 2 views
0

У меня есть приложение, готовое и хорошо работающее, и теперь я хочу добавить к нему виджет. Дело в том, я не уверен, если я делаю эту вещь право, потому что:Приложение с несколькими .action.MAIN

  • моего виджет будет иметь 4 кнопки, каждую из которых начинается другая деятельность от оригинального приложения
  • Im знает о дополнительных необходимых инициализациях , эта вещь будет вызывать, так как 3 кнопки начнут 3 мероприятия, которые будут показывать основную деятельность
  • я сделал добавить тег .action.MAIN в мой манифест, в соответствующей деятельности, таким образом я могу получить доступ к ним

Это правильный способ сделать это? Или есть другой, рекомендуемый способ? Тег, который я добавил к манифесту:

<action android:name="android.intent.action.MAIN" /> 

EDIT: забыл упомянуть в исходном сообщении, что виджет является полностью отдельным приложением, вы должны загрузить его separetely с рынка.

ответ

0

Я добавил тег .action.MAIN к моему манифеста, к соответствующей деятельности, таким образом я могу получить доступ к ним

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

+0

Когда я вернусь на свой компьютер-разработчик, я опубликую некоторые фрагменты из виджета, но в основном то, что я делаю, каждая кнопка запускает Intent, который (я не помню мое точное решение здесь), затем запускает соответствующий Мероприятия. Например, если я нажму кнопку «Избранное» в виджетах, активируется «ActFavorites», и если я нажму кнопку «Настройки», начнется «ActSettings». На данный момент это работает так, мой вопрос в том, может ли он вызвать какие-то странные ошибки? Предположим, что я сделаю каждую необходимую инициализацию, поэтому NullPointers из моего источника не будут проблемой. – hundeva

+0

@hundeva: Если вы конкретно определяете свои действия в 'PendingIntent', вам не нужно' action.MAIN'. – CommonsWare

+0

Если я правильно помню, я получил какое-то исключение, если не определил действия как action.MAIN, чтобы я мог что-то смутить, я проверю это завтра! – hundeva

Смежные вопросы