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 件のコメント:
コメントを投稿