2012-02-29 25 views
0

我正在編寫一個Android庫,我希望使用自定義的Application類,該類可以從庫的所有活動(使用getApplication方法) 。編寫一個Android庫 - 使用它自己的自定義應用程序類(getApplication)

問題是當我從我的一個庫的活動中調用getApplication方法時,它會使用我的庫(而不是我在庫的Android清單中聲明的​​自定義類)返回應用程序的應用程序類。

我現在的猜測(基於this answerofficial documentation)是用我的圖書館也必須申報自己的Android清單定製Application類的應用程序 - 這是一個問題的解決方案,因爲該應用程序也可以有自己的自定義類(和一個應用程序不能有多個自定義類Application,對不對?)。

任何人都可以提供更好的解決方案嗎? (或驗證此解決方案是正確的)

任何幫助將不勝感激..

回答

1

沒有錯,你的自定義應用程序的實施和AndroidManifest.xml中。在代碼中使用自定義應用程序的正確方法是鑄造

假設你有一個擴展android.app.Application一個所有MyApplication,讓所有MyApplication,而不是應用:

Boolean runInTest = ((MyApplication) getApplication()).isRunInTet(); 

希望有所幫助。

+0

是的,我意識到:我的意思是,如果我的SDK使用自定義應用程序類,則使用我的SDK的主APK也必須使用該自定義應用程序類(在Android清單中聲明)。這是有問題的,因爲主APK也可以有自己的自定義應用程序類。 – 2012-03-01 14:31:35

+0

@YaronBudowski,我沒有看到任何問題,在您的主APK中,使用的自定義應用程序類是通過您的主項目的Android清單配置的。你打算在主apk中使用兩個自定義應用程序類嗎? – yorkw 2012-03-01 20:01:32

+0

因爲我的代碼是一個SDK,許多APK可以使用它,其中一些可能有他們自己定製的應用程序類 - 並且據我所知(如果我錯了,請糾正我),一個APK不能使用兩個自定義應用程序類在其Android清單文件中定義。 – 2012-03-01 20:36:36

相關問題