我有一个基础活动,我从中继承了其他几个活动。
我在清单中注册的其他活动,以便我可以在我的应用程序中使用它们。
但是,对于我的基本活动,Android检查会说"Activity not registered in the manifest"
。
我认为没有理由注册基本活动,因为我从不直接使用它。但是,也许,我错过了一些东西,警告不应该被忽略?
为什么这个警告呢?
答案 0 :(得分:25)
您只需在清单中列出作为应用入口点的活动。也就是说,使用Intent
。
您不应该拥有实际上不是可实例化入口点的活动。制作此类活动类abstract
。这也将摆脱棉绒警告。
答案 1 :(得分:5)
您应该将BaseActivity作为Abstract类。无需在清单中注册此类活动,它们只是简单的Java类,它们扩展Activity类而不是应用程序的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
}
}
答案 2 :(得分:0)
仅在清单中声明用户在体验期间可以看到的活动。通常,这些被意图调用。其他人应该声明抽象。