19 展讯Sprd设置-电池-识别打印服务-PrintManager

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/su749520/article/details/84333440

1. 应用场景

关联唤醒拦截中,识别重要服务,不进行拦截,比如打印服务

2. 识别打印服务-PrintManager

import android.print.PrintManager;
import android.printservice.PrintServiceInfo;


    private List<ComponentName> mPrintServiceList = new ArrayList<>();
    
    private void loadPrintServices() {

        try {
            PrintManager printManager = (PrintManager) mContext.getSystemService(
                    Context.PRINT_SERVICE);

            List<PrintServiceInfo> services =
                    printManager.getPrintServices(PrintManager.ALL_SERVICES);

            if (services != null) {
                mPrintServiceList.clear();
                final int serviceCount = services.size();
                for (int i = 0; i < serviceCount; i++) {
                    PrintServiceInfo service = services.get(i);

                    mPrintServiceList.add(new ComponentName(
                            service.getResolveInfo().serviceInfo.packageName,
                            service.getResolveInfo().serviceInfo.name));
                }
            }
        } catch (Exception e){}

        if (DEBUG) {
            for (int i = 0, count = mPrintServiceList.size(); i < count; ++i) {
                Slog.d(TAG, "Installed PrintService : " + mPrintServiceList.get(i));
            }
        }
    }

    public boolean isInstalledPrintService(ComponentName comp) {
        return mPrintServiceList.contains(comp);
    }

猜你喜欢

转载自blog.csdn.net/su749520/article/details/84333440
19