android.os.IBinder#queryLocalInterface ( )源码实例Demo

下面列出了android.os.IBinder#queryLocalInterface ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: springreplugin   文件: ServiceWrapper.java
public static IBinder factory(Context context, String name, IBinder binder) {
    String descriptor = null;
    try {
        descriptor = binder.getInterfaceDescriptor();
    } catch (RemoteException e) {
        if (DEBUG) {
            Log.d(TAG, "getInterfaceDescriptor()", e);
        }
    }
    android.os.IInterface iin = binder.queryLocalInterface(descriptor);
    if (iin != null) {
        /**
         * If the requested interface has local implementation, meaning that
         * it's living in the same process as the one who requests for it,
         * return the binder directly since in such cases our wrapper does
         * not help in any way.
         */
        return binder;
    }
    return new ServiceWrapper(context, name, binder);
}
 
源代码2 项目: android_9.0.0_r45   文件: BulkCursorNative.java
/**
 * Cast a Binder object into a content resolver interface, generating
 * a proxy if needed.
 */
static public IBulkCursor asInterface(IBinder obj)
{
    if (obj == null) {
        return null;
    }
    IBulkCursor in = (IBulkCursor)obj.queryLocalInterface(descriptor);
    if (in != null) {
        return in;
    }

    return new BulkCursorProxy(obj);
}
 
源代码3 项目: unity-ads-android   文件: AdvertisingId.java
public static GoogleAdvertisingInfo create(IBinder binder) {
	if (binder == null) {
		return null;
	}
	IInterface localIInterface = binder.queryLocalInterface(ADVERTISING_ID_SERVICE_NAME);
	if ((localIInterface != null) && ((localIInterface instanceof GoogleAdvertisingInfo))) {
		return (GoogleAdvertisingInfo) localIInterface;
	}
	return new GoogleAdvertisingInfoImplementation(binder);
}
 
public static IXiaomiAuthService asInterface(IBinder ibinder)
{
    if (ibinder == null)
    {
        return null;
    }
    android.os.IInterface iinterface = ibinder.queryLocalInterface("miui.net.IXiaomiAuthService");
    if (iinterface != null && (iinterface instanceof IXiaomiAuthService))
    {
        return (IXiaomiAuthService)iinterface;
    } else
    {
        return new a(ibinder);
    }
}
 
源代码5 项目: Telegram   文件: ICustomTabsService.java
public static ICustomTabsService asInterface(IBinder obj) {
    if(obj == null) {
        return null;
    } else {
        IInterface iin = obj.queryLocalInterface("android.support.customtabs.ICustomTabsService");
        return (iin != null && iin instanceof ICustomTabsService?(ICustomTabsService)iin:new ICustomTabsService.Stub.Proxy(obj));
    }
}
 
源代码6 项目: android-art-res   文件: BookManagerImpl.java
/**
 * Cast an IBinder object into an IBookManager interface, generating a proxy
 * if needed.
 */
public static IBookManager asInterface(IBinder obj) {
    if ((obj == null)) {
        return null;
    }
    android.os.IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
    if (((iin != null) && (iin instanceof IBookManager))) {
        return ((IBookManager) iin);
    }
    return new BookManagerImpl.Proxy(obj);
}
 
源代码7 项目: Telegram-FOSS   文件: ICustomTabsService.java
public static ICustomTabsService asInterface(IBinder obj) {
    if(obj == null) {
        return null;
    } else {
        IInterface iin = obj.queryLocalInterface("android.support.customtabs.ICustomTabsService");
        return (iin != null && iin instanceof ICustomTabsService?(ICustomTabsService)iin:new ICustomTabsService.Stub.Proxy(obj));
    }
}
 
源代码8 项目: Telegram   文件: IPostMessageService.java
public static IPostMessageService asInterface(IBinder obj) {
    if(obj == null) {
        return null;
    } else {
        IInterface iin = obj.queryLocalInterface("android.support.customtabs.IPostMessageService");
        return (iin != null && iin instanceof IPostMessageService?(IPostMessageService)iin:new IPostMessageService.Stub.Proxy(obj));
    }
}
 
源代码9 项目: TelePlus-Android   文件: ICustomTabsService.java
public static ICustomTabsService asInterface(IBinder obj) {
    if(obj == null) {
        return null;
    } else {
        IInterface iin = obj.queryLocalInterface("android.support.customtabs.ICustomTabsService");
        return (iin != null && iin instanceof ICustomTabsService?(ICustomTabsService)iin:new ICustomTabsService.Stub.Proxy(obj));
    }
}
 
源代码10 项目: letv   文件: IDownloadService.java
public static IDownloadService asInterface(IBinder obj) {
    if (obj == null) {
        return null;
    }
    IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
    if (iin == null || !(iin instanceof IDownloadService)) {
        return new Proxy(obj);
    }
    return (IDownloadService) iin;
}
 
源代码11 项目: letv   文件: RemoteDeviceManager.java
public static RemoteDeviceManager asInterface(IBinder obj) {
    if (obj == null) {
        return null;
    }
    IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
    if (iin == null || !(iin instanceof RemoteDeviceManager)) {
        return new Proxy(obj);
    }
    return (RemoteDeviceManager) iin;
}
 
源代码12 项目: letv   文件: DeviceCallback.java
public static DeviceCallback asInterface(IBinder obj) {
    if (obj == null) {
        return null;
    }
    IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
    if (iin == null || !(iin instanceof DeviceCallback)) {
        return new Proxy(obj);
    }
    return (DeviceCallback) iin;
}
 
源代码13 项目: Telegram-FOSS   文件: IPostMessageService.java
public static IPostMessageService asInterface(IBinder obj) {
    if(obj == null) {
        return null;
    } else {
        IInterface iin = obj.queryLocalInterface("android.support.customtabs.IPostMessageService");
        return (iin != null && iin instanceof IPostMessageService?(IPostMessageService)iin:new IPostMessageService.Stub.Proxy(obj));
    }
}
 
源代码14 项目: letv   文件: AIDLService.java
public static AIDLService asInterface(IBinder obj) {
    if (obj == null) {
        return null;
    }
    IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
    if (iin == null || !(iin instanceof AIDLService)) {
        return new Proxy(obj);
    }
    return (AIDLService) iin;
}
 
源代码15 项目: letv   文件: AIDLActivity.java
public static AIDLActivity asInterface(IBinder obj) {
    if (obj == null) {
        return null;
    }
    IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
    if (iin == null || !(iin instanceof AIDLActivity)) {
        return new Proxy(obj);
    }
    return (AIDLActivity) iin;
}
 
源代码16 项目: VirtualAPK   文件: BookManagerImpl.java
/**
 * Cast an IBinder object into an IBookManager interface, generating a proxy
 * if needed.
 */
public static IBookManager asInterface(IBinder obj) {
    if ((obj == null)) {
        return null;
    }
    android.os.IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
    if (((iin != null) && (iin instanceof IBookManager))) {
        return ((IBookManager) iin);
    }
    return new BookManagerImpl.Proxy(obj);
}
 
源代码17 项目: letv   文件: RubbishScanListenerStub.java
public static IRubbishScanListener asInterface(IBinder binder) {
    if (binder == null) {
        return null;
    }
    IInterface iInterface = binder.queryLocalInterface(DESCRIPTOR);
    if (iInterface == null || !(iInterface instanceof IRubbishScanListener)) {
        return new RubbishScanListenerProxy(binder);
    }
    return (IRubbishScanListener) iInterface;
}
 
源代码18 项目: letv   文件: IResultReceiver.java
public static IResultReceiver asInterface(IBinder obj) {
    if (obj == null) {
        return null;
    }
    IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
    if (iin == null || !(iin instanceof IResultReceiver)) {
        return new Proxy(obj);
    }
    return (IResultReceiver) iin;
}
 
源代码19 项目: letv   文件: INotificationSideChannel.java
public static INotificationSideChannel asInterface(IBinder obj) {
    if (obj == null) {
        return null;
    }
    IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
    if (iin == null || !(iin instanceof INotificationSideChannel)) {
        return new Proxy(obj);
    }
    return (INotificationSideChannel) iin;
}
 
源代码20 项目: Telegram   文件: ICustomTabsCallback.java
public static ICustomTabsCallback asInterface(IBinder obj) {
    if(obj == null) {
        return null;
    } else {
        IInterface iin = obj.queryLocalInterface("android.support.customtabs.ICustomTabsCallback");
        return (iin != null && iin instanceof ICustomTabsCallback?(ICustomTabsCallback)iin:new ICustomTabsCallback.Stub.Proxy(obj));
    }
}