首页

源码搜藏网

首页 > 安卓源码 > 技术博客 >

android 判断一个app是否是输入法的方法

创建时间:2017-02-15 17:42  浏览

之前做一个app,需要列出手机中安装的所有包,包括系统apps,但是又需要过滤输入法,于是后来找到这种方法来判断输入法。

[代码]java代码:

?
 
public static boolean isInputMethodApp(Context context, String strPkgName) {
     
    PackageManager pkm = context.getPackageManager();
    boolean bIsIME = false;
    PackageInfo pkgInfo;
    try {
        pkgInfo = pkm.getPackageInfo(strPkgName, PackageManager.GET_SERVICES);
        ServiceInfo[] servicesInfos = pkgInfo.services;
        if(null != servicesInfos){
            for (int i = 0; i < servicesInfos.length; i++) {
                ServiceInfo sInfo = servicesInfos[i];
                if(null != sInfo.permission && sInfo.permission.equals("android.permission.BIND_INPUT_METHOD")){
                    Log.i("isInputMethodApp ", strPkgName);
                    bIsIME = true;
                    break;
                };
            }
        }
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    } catch (Exception e) {       
        e.printStackTrace();
    }
    return bIsIME;
}

上一篇:安卓开发RecyclerView实现拖拽排序和侧滑删除
下一篇:Android开发中用AIDL实现进程通信

相关内容

热门推荐