版权声明:本文为博主原创文章,未经博主允许不得转载。 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);
}