tôi cần phải lấy một giá trị từ tập tin AndroidManifest.xml
, lưu trữ dưới dạng dữ liệu meta:được activityInfo siêu dữ liệu trong phương pháp onCreate
<meta-data android:value="3" android:name="myInterestingValue" />
Trong phương pháp onCreate
, tôi gọi là phương pháp sau đây:
private Object getMetaData(String name) {
try {
ActivityInfo ai = getPackageManager().getActivityInfo(this.getComponentName(), PackageManager.GET_META_DATA);
Bundle metaData = ai.metaData;
if(metaData == null) {
debug("metaData is null. Unable to get meta data for " + name);
}
else {
Object value = (Object)metaData.get(name);
return value;
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
return null;
}
Nhưng metaData
luôn luôn là rỗng. Có thể truy cập vào metaData
trong phương thức onCreate
không? tức là hoạt động chưa được khởi tạo đầy đủ.
Cảm ơn, điều này đã giúp. Bạn có lỗi đánh máy, phải là: ActivityInfo app = getPackageManager(). GetActivityInfo (this.getComponentName(), PackageManager.GET_ACTIVITIES | PackageManager.GET_META_DATA); – ajh158