2012-04-25 13 views
26

AndroidManifest.xmlファイルのapplicationタグにカスタム属性を追加したいとします。これはAndroid環境で可能ですか?AndroidManifest.xmlタグにカスタム属性を含めることはできますか?

+0

私はそうは思わない...しかし、あなたはこれを精巧にすることができます... –

+0

確かに、私の動機はここにあります:http://stackoverflow.com/q/10311504/183123。私が開発しているサービスにアプリケーションを登録したいのですが。ターゲットアプリケーションを実行する必要はありません –

答えて

58

はい。ここに例があります。カスタムタグはContentVersionです。それにアクセスするには

<application android:name=".MyApplication" 
      android:icon="@drawable/icon" 
      android:label="@string/app_name"> 

    <meta-data android:name="ContentVersion" android:value="1.9" /> 

    <activity android:name="com.someone.something.MainActivity" 
       android:theme="@android:style/Theme.Translucent.NoTitleBar" 
       android:screenOrientation="sensor" 
       android:label="@string/app_name"> 

ApplicationInfo ai = _context.getPackageManager().getApplicationInfo(_context.getPackageName(),PackageManager.GET_META_DATA); 
    ai.metaData.get("ContentVersion") 
+7

Huh。コメントのない下線。それは助けにはならない!あなたが戻ってきたら、私の答えが間違っていると教えてください! – Simon

+0

http://stackoverflow.com/questions/17972963/add-android-metadata-tag-in-theme-apk-and-read-the-value –

+0

あなたにはを追加できませんタグ。関連するドキュメントは次のとおりです。http://developer.android.com/guide/topics/manifest/meta-data-element.html – user128536

0

代わりにSharedPreferencesに行くことができます(別名設定)。

+0

これは完全に無関係です。 – njzk2

+0

完全ではありません。私はこの状況に収まるような他の解決策を検討していました。 – Korcholis

+1

マニフェスト内のタグはコンパイル時に追加され、実行時にアクセスされます。 sharedpreferencesは実行時に作成され、アクセスされます。 – njzk2

3

定義済みのタグにカスタム属性を定義することはできませんが、meta-dataというキーと値のペアを追加できます。

0
タグで

(だけでなく、サービスと受信機)は、タグ(http://developer.android.com/guide/topics/manifest/meta-data-element.html)

を使用することができます

名前と値またはリソースIDが含まれています。

PackageManagerを使用して取得します。

-2

誰もがXamarin(Android用モノラル)のために、私は定数を見つけることができなかったことを必要とするが、私は128

である、それのための価値を発見した場合

"for"条件を使用して0から1000までのすべての値を調べ、MetaDataプロパティがnullでないときはいつでもチェックします。笑

関連する問題