Должен ли я добавить базовые действия в файл манифеста? - PullRequest
0 голосов
/ 10 сентября 2011

Я делаю приложение, в котором я использую некоторые базовые действия, от которых я наследую вещи. Я попытался запустить приложение, не добавляя эти действия в файл манифеста, и это работает. Но я должен добавить их или пропустить? Мне нужно добавить только те действия, которые видны пользователю?

Ответы [ 5 ]

1 голос
/ 10 сентября 2011

Нет ничего плохого в том, что некоторые действия не определены в файле AndroidManifest, если вы не пытаетесь их запустить.

Таким образом, ответ будет "нет", вам не нужно добавлять действия, которые есть только ради какой-то абстракции.

С другой стороны, зачем вамХотите, чтобы некоторые классы с функциональностью жизненного цикла приложения (и другие вещи Activity) были на месте?Это похоже на плохой дизайн, и я бы посоветовал вам пересмотреть код.

0 голосов
/ 08 октября 2011

1- Я бы включил его в манифест в любом случае. Я не думаю, что это будет больно.

2- У меня есть вопрос ко всем, кто хочет ответить. Могу ли я иметь что-то подобное?

    <activity android:name="com.hourglass.applications.CreateAlarm">
        <intent-filter>
            <action android:name="com.hourglass.applications.CreateAlarm" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

Я не знаю, могу ли я иметь действие и действие с одним и тем же именем.

0 голосов
/ 10 сентября 2011

Это действительно поможет увидеть ваш код.

Как кто-то еще упомянул, хорошо, что в вашем манифесте опущены действия, которые никогда не запускаются напрямую (и есть случаи, когда это имеет смысл), но это также может быть плохой практикой. Это вспомогательные классы? Они вообще расширяют активность?

0 голосов
/ 10 сентября 2011

вы не можете открыть i.e (отобразить) действие (или его подтип) в своем приложении, если в файле манифеста нет элемента <activity>

если вы попытаетесь начать такое действие

Intent i = new Intent(this, Any_Activity.class);
startActivity(i);

вы получите сообщение об ошибке Приложение неожиданно остановилось Пожалуйста, попробуйте еще раз

, поскольку в файле manifest.xml

не определен тег <activity> для класса "Any_Activity".
0 голосов
/ 10 сентября 2011

Объявляет действие (подкласс Activity), которое реализует часть визуального пользовательского интерфейса приложения. Все действия должны быть представлены элементами в файле манифеста. Все, что не объявлено там, не будет замечено системой и никогда не будет запущено.

Это описание тега активности на странице разработчиков Android. надеюсь, это поможет

...