2016-06-17 4 views
0

私はabstract Activityを定義するライブラリを持っています。このライブラリを使用しているアプリはアクティビティを拡張しているため、AndroidManifest.xmlに追加する必要があります。ライブラリのAndroidManifest.xml 抽象的なアクティビティをライブラリのマニフェストに宣言できますか?

は、いくつかのルール次のアプリの一つにマージされます。

しかし、私は図書館のAndroidManifest.xmlに私の抽象化行動を宣言するための方法を見つけるように見えることはできません。すべてのサブクラスのマニフェストで宣言するのではなく、android:configChangesandroid:launchModeを基本クラスに設定したいと思います。

これは何らかの方法で可能ですか?マニフェストで

+1

*何らかの方法でその可能です*私はそうは思わない...私はでしょう?活動はマニフェストで宣言されたあなたのクラスから派生する方法を文書化を行い、そして(ActivityInfoの助けを借りて)いくつかのチェックを行う中onCreate、fx:アクティビティが指定されたlaunchMode/configChangesで宣言されているかどうかをチェックする - もし* Acitivty Fooが "single top" launchMode *で宣言されなければならないようなランタイム例外をスローしないなら、 "programmers"例外を一切読んでいない(ただし、ここに貼り付ける) – Selvin

+0

これらのフィールドをプログラムでチェックできるかどうかは、設定​​方法がわからないのでチェックします。 – JonesV

+0

実際に値をプログラムで確認することができます。マニフェストのマージが不可能であることを確認したいのですが、そうでなければ最良の答えですので、答えとして書く必要があります。) – JonesV

答えて

2

にはあなたしか実際にアプリケーションで使用されている活動を宣言しなければなりません。抽象的なアクティビティを拡張するアクティビティを宣言する必要があります。

は、あなたの活動の設定を編集するには、マニフェストにあなたの具体的な活動のそれぞれについて、これらのパラメータを設定する必要があります。

+0

私は私の抽象的なアクティビティを宣言する必要はありません。問題は、宣言を具体的な活動によって継承させたいのであれば、私はそれをすることができますか? – JonesV

+0

いいえ、具体的な活動ごとにこれらの設定を定義する必要があります – Vektor88

0

短答;いいえ。

私が見つけたから、android:configChangesandroid:launchMode属性を設定する唯一の方法はマニフェストにあります。マニフェストでは、インスタンス化するクラスの名前(つまり、抽象クラスのサブクラス)のみを受け入れます。

関連する問題