Androidのマニフェスト※におけるactivity要素では、Activity中からアクセスできるメタデータをmeta-data要素に記述できる。
- AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 〜 <activity android:name=".Bootstrap"> <meta-data android:name="startup" android:value=".Activity1" /> <meta-data android:name="action" android:value="android.intent.action.VIEW" />
<intent-filter> <action android:name="android.intent.action.MAIN" /> </intent-filter> </activity> <activity android:name=".Activity1"> <intent-filter> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Activity2"> <intent-filter> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
メタデータ要素を読むためにはActivityInfo.metadataにアクセスする必要がある。
- Bootstrap.java
//メタデータを読込んでインテントからアクティビティを起動
ActivityInfo info = this.getPackageManager().getActivityInfo(this.getComponentName(), PackageManager.GET_META_DATA ); String activityName = info.packageName + info.metaData.getString("startup"); String action = info.metaData.getString("action");
Class clazz = Class.forName(activityName, this.getClassLoader()); Intent intent = new Intent(this.getApplicationContext(), clazz); intent.setAction(action); this.startActivity(intent); <meta-data android:name="string"
android:resource="resource specification"
android:value="string" /> <activity>
<activity-alias>
<service>
<receiver>
| Color value, in the form " | |
0 件のコメント:
コメントを投稿