Активность, не зарегистрированная в манифесте Предупреждение Lint
У меня есть базовая активность, из которой я подклассифицирую несколько других действий.
Те другие действия, которые я регистрирую в манифесте, поэтому я могу использовать их из моего приложения.
Тем не менее, проверка Android говорит, что для моей базовой активности "Activity not registered in the manifest"
.
Я не вижу причины регистрировать базовую активность, поскольку я никогда не использую ее напрямую. Однако, может быть, я что-то упустил, и предупреждение не следует игнорировать?
Почему это предупреждение в любом случае?
Ответы
Ответ 1
Вам нужно будет отобразить только действия, которые являются точками входа в приложение в манифесте. То есть, действия, вызываемые с помощью Intent
.
У вас не должно быть действий, которые на самом деле не являются точными точками входа. Сделайте такие классы активности abstract
. Это также избавит вас от предупреждения ворса.
Ответ 2
Вы должны сделать свой BaseActivity абстрактным классом. Нет необходимости регистрировать такие действия в манифесте, это просто простые классы Java, расширяющие класс Activity, а не активность вашего приложения.
public abstract class BaseActivity extends Activity {
@Override
public void onCreate(bundle) {
super.onCreate(bundle);
setContentView(getLayoutResourceId());
}
protected abstract int yourmethods();
}
public class Activity1 extends BaseActivity {
@Override
public void onCreate(bundle) {
super.onCreate(bundle);
// do extra stuff on your resources, using findViewById on your layout_for_activity1
}
@Override
protected int yourmethod() {
//implemetation
}
}