活动未在清单Lint警告中注册

时间:2014-01-12 10:38:43

标签: android android-activity android-studio android-lint

我有一个基础活动,我从中继承了其他几个活动。

我在清单中注册的其他活动,以便我可以在我的应用程序中使用它们。

但是,对于我的基本活动,Android检查会说"Activity not registered in the manifest"

我认为没有理由注册基本活动,因为我从不直接使用它。但是,也许,我错过了一些东西,警告不应该被忽略?

为什么这个警告呢?

3 个答案:

答案 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)

仅在清单中声明用户在体验期间可以看到的活动。通常,这些被意图调用。其他人应该声明抽象。