1. 程式人生 > >19 展訊Sprd設定-電池-識別列印服務-PrintManager

19 展訊Sprd設定-電池-識別列印服務-PrintManager

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);
    }