我有一個基本活動,我從中繼承了其他幾項活動。未在清單中註冊的活動Lint警告
我在清單中註冊的那些其他活動,我可以在我的應用程序中使用它們。
但是,Android檢查說,對於我的基本活動,"Activity not registered in the manifest"
。
我沒有理由註冊基本活動,因爲我從不直接使用它。但是,也許,我錯過了一些東西,這個警告不應該被忽略?
爲什麼這個警告呢?
我有一個基本活動,我從中繼承了其他幾項活動。未在清單中註冊的活動Lint警告
我在清單中註冊的那些其他活動,我可以在我的應用程序中使用它們。
但是,Android檢查說,對於我的基本活動,"Activity not registered in the manifest"
。
我沒有理由註冊基本活動,因爲我從不直接使用它。但是,也許,我錯過了一些東西,這個警告不應該被忽略?
爲什麼這個警告呢?
您只需要在清單中列出作爲應用程序入口點的活動。即,使用Intent
調用的活動。
您不應該有實際上不可實例化入口點的活動。做這樣的活動類別abstract
。這也將擺脫皮棉警告。
啊,真的。我沒想過讓它們抽象,哈!謝謝。 –
我正在接管其他地方的大量代碼,我如何檢查它是否可以用'intent'調用? – not2qubit
你應該讓你的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
}
}
我的假設是,Android Studio只會檢查給定的類是否繼承自Activity。據我所知,如果一個類是一個基類,並且實際上正在被使用或不會被使用,那麼Android Studio沒有直接的方法來檢測。 – Ahmad
唯一需要向清單添加活動的方法是向系統註冊意圖,以便您的組件和其他應用程序可以創建啓動活動的意圖。您可以關閉lint檢查或將活動添加到清單中,或者忽略它。 – Simon
@Simon如果我將我的基礎活動添加到清單中,是否會有任何不可預見的安全風險? –