Ben*_*ton 14 android android-manifest
有谁知道是否可以将参数传递到AndroidManifest.xml文件中的Activity?我想在几个应用程序中使用相同的活动,但有一种方法可以根据应用程序调整该活动的外观.
我想写一些像(在AndroidManifest.xml中)
<activity android:name=".MyActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<extradata>
<item name="foo" value="bar"/>
</extradata>
</activity>
Run Code Online (Sandbox Code Playgroud)
..并能够在活动的onCreate中读出bar的值.这是否可以通过intent过滤器中的data属性完成?
谢谢,
小智 9
实际上,有办法做到这一点.查看这篇文章:
http://blog.iangclifton.com/2010/10/08/using-meta-data-in-an-androidmanifest/
简而言之,您可以使用以下方法获取标记的内容:
ApplicationInfo ai = getPackageManager().getApplicationInfo(activity.getPackageName(), PackageManager.GET_META_DATA);
Bundle bundle = ai.metaData;
String myApiKey = bundle.getString("my_api_key");
Run Code Online (Sandbox Code Playgroud)
元数据标签定义如下:
<meta-data android:name="my_api_key" android:value="mykey123" />
Run Code Online (Sandbox Code Playgroud)
可以访问值中的数据,但是如果要指定与活动相关的内容,则这是更清晰的方法.
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
7532 次 |
| 最近记录: |