Android笔记:Android中<meta-data>的使用

简介:

在AndroidManifest.xml中,<meta-data>元素可以作为子元素,被包含在<activity>、<application> 、<service>和<receiver>元素中,但

不同的父元素,在应用时读取的方法也不同。


1 :在Activity的应用。

    xml代码段:

1
2
3
    <activity...>
        <meta-data android:name= "myMsg"  android:value= "hello my activity" ></meta-data>
     </activity>

    java代码段:

1
2
3
            ActivityInfo info =  this .getPackageManager().getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
         String msg = info.metaData.getString( "myMsg" );
         System.out.println( "myMsg:"  + msg);


2:在application的应用。

   xml代码段:

1
2
3
   <application...>
        <meta-data android:value= "hello my application"  android:name= "myMsg" ></meta-data>
    </application>

  

   java代码段:

1
2
3
         ApplicationInfo appInfo =  this .getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
         String msg = appInfo.metaData.getString( "myMsg" );
         System.out.println( "myMsg:"  + msg);


3:在service的应用。

   xml代码段:

1
2
3
    <service android:name= "MetaDataService" >
       <meta-data android:value= "hello my service"  android:name= "myMsg" ></meta-data>
    </service>


   java代码段:

1
2
3
4
         ComponentName cn =  new  ComponentName( this , MetaDataService. class );
         ServiceInfo info =  this .getPackageManager().getServiceInfo(cn, PackageManager.GET_META_DATA);
         String msg = info.metaData.getString( "myMsg" );
         System.out.println( "myMsg:"  + msg);


4: 在receiver的应用。

   xml代码段:

1
2
3
4
5
6
     <receiver android:name= "MetaDataReceiver" >
             <meta-data android:value= "hello my receiver"  android:name= "myMsg" ></meta-data>
             <intent-filter>
                 <action android:name= "android.intent.action.PHONE_STATE" ></action>
             </intent-filter>
     </receiver>

   java代码段:

1
2
3
4
         ComponentName cn= new  ComponentName(context, MetaDataReceiver. class );
         ActivityInfo info=context.getPackageManager().getReceiverInfo(cn, PackageManager.GET_META_DATA);
         String msg=info.metaData.getString( "myMsg" );
         System.out.println( "myMsg:" +msg);


参考资料:http://blog.sina.com.cn/s/blog_8417aea8010110he.html






本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1539248,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
237 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
6月前
|
Unix Linux Shell
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
在Linux环境下交叉编译Android所需的FFmpeg so库,首先下载`android-ndk-r21e`,然后解压。接着,上传FFmpeg及相关库(如x264、freetype、lame)源码,修改相关sh文件,将`SYSTEM=windows-x86_64`改为`SYSTEM=linux-x86_64`并删除回车符。对x264的configure文件进行修改,然后编译x264。同样编译其他第三方库。设置环境变量`PKG_CONFIG_PATH`,最后在FFmpeg源码目录执行配置、编译和安装命令,生成的so文件复制到App工程指定目录。
343 9
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
|
1月前
|
Web App开发 安全 程序员
FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势
多年的互联网寒冬在今年尤为凛冽,坚守安卓开发愈发不易。面对是否转行或学习新技术的迷茫,安卓程序员可从三个方向进阶:1)钻研谷歌新技术,如Kotlin、Flutter、Jetpack等;2)拓展新功能应用,掌握Socket、OpenGL、WebRTC等专业领域技能;3)结合其他行业,如汽车、游戏、安全等,拓宽职业道路。这三个方向各有学习难度和保饭碗指数,助你在安卓开发领域持续成长。
76 1
FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势
|
1月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
92 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
3月前
|
JavaScript 前端开发 Java
FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向
IT寒冬使APP开发门槛提升,安卓程序员需转型。选项包括:深化Android开发,跟进Google新技术如Kotlin、Jetpack、Flutter及Compose;研究Android底层框架,掌握AOSP;转型Java后端开发,学习Spring Boot等框架;拓展大前端技能,掌握JavaScript、Node.js、Vue.js及特定框架如微信小程序、HarmonyOS;或转向C/C++底层开发,通过音视频项目如FFmpeg积累经验。每条路径都有相应的书籍和技术栈推荐,助你顺利过渡。
74 3
FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向
|
3月前
|
编解码 安全 Ubuntu
Android Selinux 问题处理笔记
这篇文章是关于处理Android系统中SELinux权限问题的笔记,介绍了如何通过分析SELinux拒绝的日志、修改SELinux策略文件,并重新编译部署来解决权限问题,同时提供了一些SELinux的背景知识和实用工具。
85 0
|
6月前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
116 3
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
5月前
|
Java API Android开发
技术经验分享:Android源码笔记——Camera系统架构
技术经验分享:Android源码笔记——Camera系统架构
60 0
|
6月前
|
Java 测试技术 开发工具
Android 笔记:AndroidTrain , Lint , build(1),只需一篇文章吃透Android多线程技术
Android 笔记:AndroidTrain , Lint , build(1),只需一篇文章吃透Android多线程技术
|
6月前
|
设计模式 缓存 前端开发
真的强!借助阿里技术博主分享的Android面试笔记,我拿到了字节跳动的offer
真的强!借助阿里技术博主分享的Android面试笔记,我拿到了字节跳动的offer
下一篇
无影云桌面