经常用第三方库的同学们应该经常会用到mata-data这个标签,, 比如:
< -data android:name="com.baidu.lbsapi.API_KEY"
android:value="***************************USER-KEY****************" />
这一段就是百度地图的用户信息配置
那么他的作用很明显就是用来配置用户信息的, 但是百度地图是怎么获取到我们在manifest中定义的信息的呢?
答案是: 我们在配置百度地图的时候不仅在menifest中配置了信息, 还在Application中信息
SDKInitializer.initialize(getApplicationContext());
而这句话里面就包括了百度地图对已 -data的数据的获取;
现在我们自己来尝试进行mata-data数据的获取:
首先我们在menifest中定义 -data, 可以定义在Activity标签下, 也可以定义在application标签下;
我们用activity下的进行尝试:
<activity android:name=".activity.PrjSelectActivity"> < -data android:name=" -DATA-TEST" android:value="i am -data" /> </activity>然后再activity中进行如下操作:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //1.这里获取 -data对应的参数的值. try { //2.首先获取包管理器,通过包管理器,取得组件信息. //3..getActivityInfo(第一个参数,取得组件的名称. //new ComponentName(this, dataActivity.class)用来获取这个组件的信息. //PackageManager.GET_ _DATA指定取得信息的类型. ActivityInfo activityInfo = this.getPackageManager().getActivityInfo( new ComponentName(this, dataActivity.class), PackageManager.GET_ _DATA); Bundle bundle = activityInfo. Data;//返回一个Bundle对象. //从bundle获取,< -data>设定的值. String name = bundle.getString(" -DATA-TEST"); String app = bundle.getString("password"); //通过吐司打印出来< -data>设定的值. Log.e(TAG, name + app); } catch (NameNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }当然我们也可以用获取到的 -data进行更加详细的操作, 比如百度地图, 当然就是将这个 -data的信息进行验证了.
继续阅读与本文标签相同的文章
-
浅拷贝和深拷贝
2026-06-02栏目: 教程
-
C#之MemberwiseClone与Clone
2026-06-02栏目: 教程
-
C# 使用MarshalByRefObject跨程序调用方法
2026-06-02栏目: 教程
-
PDB文件:每个开发人员都必须知道的
2026-06-02栏目: 教程
-
远程桌面使用方法
2026-06-02栏目: 教程
