Дизайн приложения для Android: напишите правильный фильтр намерений

Я пытаюсь написать правильный фильтр намерений.

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

У меня есть приложение, которое владеет некоторыми данными. (данные с ЭБУ, блока управления двигателем) Есть два действия: одно действие может отображать данные в виде цифр, а другое может отображать их в виде графиков.

Давайте посмотрим на первое упражнение.

  1. Что он делает? Он отображается.
  2. Что он отображает? Данные ЭБУ.
  3. Как он отображает эти данные? в виде цифр.

Второе действие почти такое же, но третий пункт отличается: он отображает данные в виде графиков.

ТакЯ хочу иметь возможность отправлять намерение, которое указывает всю информацию, например, « Эй, Android, мне нужно отобразить данные ECU в виде цифр », а затем следует открыть первое действие.

И я также хочу иметь возможность отправлять намерение, которое указывает только первые два элемента, например, « Эй, Android, мне нужно отобразить данные ECU », а затем Android должен спросить пользователя, какую активность следует открыть.

Мое приложение также должно быть в состоянии реагировать на другие приложения.

Как лучше всего достичь всего этого?

ОБНОВЛЕНИЕ: Вот мой xml. Что я должен указать в ?

  <activity
     android:name=".MyActivity"
     >

     <intent-filter >
        <!-- what should i specify here? -->
     </intent-filter>
  </activity>

UPDATE 2: Вот что я пытаюсь сделать: у меня есть приложение с Service, которое взаимодействует через Bluetooth с удаленным устройством и получает данные ECU. Есть несколько простых действий, которые могут отображать эти данные: как я уже сказал, один может отображать цифры, другой может отображать графики.Это приложение предоставляет интерфейс AIDL для любого другого приложения, чтобы иметь возможность получать данные ECU.

Как я уже сказал, эти действия довольно просты, они предоставляют только базовый пользовательский интерфейс.

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

Затем, если я отправляю Intent например: « Эй, Android, мне нужно отобразить данные ECU », то Android должен спросить меня, какую активность следует открыть, и я хочу иметь возможность увидеть эту новую Activity тоже.

5
задан Dmitry Frank 26 January 2012 в 12:46
поделиться