获取使用当前API的应用程序名称

天大地大妈咪最大 提交于 2020-03-09 11:09:48

开发手机安全管家的时候,比如要打电话,或者照相需要知道是哪个应用程序在调用,就可以在API接口中调用下面的代码。

比如要获取打开摄像头的应用程序名称,只需要在frameworks/base/core/android/hardware/Camera.java中open()方法中加上如下代码就可以了。

Application application = ActivityThread.currentApplication();
if (application != null) {
    String packageName = application.getPackageName();
    try {
         ApplicationInfo packageInfo= application.getPackageManager().getApplicationInfo(packageName,PackageManager.GET_META_DATA);
         String appName = application.getPackageManager().getApplicationLabel(packageInfo).toString();
} catch (Exception e) {
  e.printStackTrack();
}

ApplicationLabel就是应用程序名称,是定义在AndroidManifest.xml中的。

如下为Android 2.3Camera应用的写法。

其应用名称就为Camera。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!