微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android.content.IIntentReceiver的实例源码

项目:prevent    文件ActivityManagerService.java   
public final int broadcastIntent(IApplicationThread caller,Intent intent,String resolvedType,IIntentReceiver resultTo,int resultCode,String resultData,Bundle resultExtras,String[] requiredPermissions,int appOp,Bundle bOptions,boolean serialized,boolean sticky,int userId) {
    try {
        PreventRunningUtils.setSender(caller);
        int res = broadcastIntent$Pr(caller,intent,resolvedType,resultTo,resultCode,resultData,resultExtras,requiredPermissions,appOp,bOptions,serialized,sticky,userId);
        if (res == 0) {
            PreventRunningUtils.onbroadcastIntent(intent);
        }
        return res;
    } finally {
        PreventRunningUtils.clearSender();
    }
}
项目:prevent    文件ActivityManagerService.java   
public final int broadcastIntent(IApplicationThread caller,Bundle map,String requiredPermission,map,requiredPermission,userId);
        if (res == 0) {
            PreventRunningUtils.onbroadcastIntent(intent);
        }
        return res;
    } finally {
        PreventRunningUtils.clearSender();
    }
}
项目:TPlayer    文件MethodProxies.java   
public void performReceive(Intent intent,String data,Bundle extras,boolean ordered,int sendingUser) throws remoteexception {
    if (!accept(intent)) {
        return;
    }
    if (intent.hasExtra("_VA_|_intent_")) {
        intent = intent.getParcelableExtra("_VA_|_intent_");
    }
    SpecialComponentList.unprotectIntent(intent);
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN) {
        IIntentReceiverJB.performReceive.call(mOld,data,extras,ordered,sendingUser);
    } else {
        mirror.android.content.IIntentReceiver.performReceive.call(mOld,sticky);
    }
}
项目:VirtualHook    文件MethodProxies.java   
@Override
public Object call(Object who,Method method,Object... args) throws Throwable {
    MethodParameterUtils.replaceFirstAppPkg(args);
    args[IDX_requiredPermission] = null;
    IntentFilter filter = (IntentFilter) args[IDX_IntentFilter];
    SpecialComponentList.protectIntentFilter(filter);
    if (args.length > IDX_IIntentReceiver && IIntentReceiver.class.isinstance(args[IDX_IIntentReceiver])) {
        final IInterface old = (IInterface) args[IDX_IIntentReceiver];
        if (!IIntentReceiverProxy.class.isinstance(old)) {
            final IBinder token = old.asBinder();
            if (token != null) {
                token.linkToDeath(new IBinder.DeathRecipient() {
                    @Override
                    public void binderDied() {
                        token.unlinkToDeath(this,0);
                        mProxyIIntentReceivers.remove(token);
                    }
                },0);
                IIntentReceiver proxyIIntentReceiver = mProxyIIntentReceivers.get(token);
                if (proxyIIntentReceiver == null) {
                    proxyIIntentReceiver = new IIntentReceiverProxy(old);
                    mProxyIIntentReceivers.put(token,proxyIIntentReceiver);
                }
                WeakReference mdispatcher = LoadedApk.Receiverdispatcher.InnerReceiver.mdispatcher.get(old);
                if (mdispatcher != null) {
                    LoadedApk.Receiverdispatcher.mIIntentReceiver.set(mdispatcher.get(),proxyIIntentReceiver);
                    args[IDX_IIntentReceiver] = proxyIIntentReceiver;
                }
            }
        }
    }
    return method.invoke(who,args);
}
项目:VirtualHook    文件MethodProxies.java   
public void performReceive(Intent intent,sticky);
    }
}
项目:Brevent    文件IActivityManager.java   
/**
 * @deprecated since api-23
 */
@Deprecated
int broadcastIntent(IApplicationThread caller,String requiredPermissions,int userId)
        throws remoteexception;
项目:Brevent    文件IActivityManager.java   
/**
 * since api-23
 */
@RequiresApi(Build.VERSION_CODES.M)
int broadcastIntent(IApplicationThread caller,Bundle options,int userId)
        throws remoteexception;
项目:prevent    文件ActivityManagerService.java   
public final int broadcastIntent$Pr(IApplicationThread caller,int userId) {
    throw new UnsupportedOperationException();
}
项目:TPlayer    文件MethodProxies.java   
@Override
public Object call(Object who,args);
}
项目:container    文件RegisterReceiver.java   
@Override
public Object call(Object who,Object... args) throws Throwable {
    HookUtils.replaceFirstAppPkg(args);
    args[IDX_requiredPermission] = null;
    IntentFilter filter = (IntentFilter) args[IDX_IntentFilter];
    IntentFilter backupFilter = new IntentFilter(filter);
    protectIntentFilter(filter);
    if (args.length > IDX_IIntentReceiver && IIntentReceiver.class.isinstance(args[IDX_IIntentReceiver])) {
        final IInterface old = (IInterface) args[IDX_IIntentReceiver];
        if (!IIntentReceiverProxy.class.isinstance(old)) {
            final IBinder token = old.asBinder();
            if (token != null) {
                token.linkToDeath(new IBinder.DeathRecipient() {
                    @Override
                    public void binderDied() {
                        token.unlinkToDeath(this,proxyIIntentReceiver);
                    args[IDX_IIntentReceiver] = proxyIIntentReceiver;
                }
            }
        }
    }
    Object res = method.invoke(who,args);
    Intent intent = VActivityManager.get().dispatchStickybroadcast(backupFilter);
    if (intent != null) {
        return intent;
    }
    return res;
}
项目:container    文件RegisterReceiver.java   
public void performReceive(Intent intent,int sendingUser) throws remoteexception {
    if (!accept(intent)) {
        return;
    }
    if (intent.hasExtra("_VA_|_intent_")) {
        intent = intent.getParcelableExtra("_VA_|_intent_");
    }
    SpecialComponentList.unprotectIntent(intent);
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN) {
        IIntentReceiverJB.performReceive.call(old,sendingUser);
    } else {
        mirror.android.content.IIntentReceiver.performReceive.call(old,sticky);
    }
}
项目:droidel    文件ActivityThread.java   
public void scheduleRegisteredReceiver(IIntentReceiver receiver,String dataStr,int sendingUser,int processstate) throws remoteexception {
    updateProcessstate(processstate,false);
    receiver.performReceive(intent,dataStr,sendingUser);
}
项目:VirtualAPK    文件LoadedApk.java   
public IIntentReceiver getReceiverdispatcher(final broadcastReceiver r,final Context context,final Handler handler,final Instrumentation instrumentation,final boolean registered) {
    throw new RuntimeException("Stub!");
}
项目:VirtualAPK    文件LoadedApk.java   
public IIntentReceiver forgetReceiverdispatcher(final Context context,final broadcastReceiver r) {
    throw new RuntimeException("Stub!");
}
项目:prevent    文件ActivityManagerService.java   
public final int broadcastIntent$Pr(IApplicationThread caller,int userId) {
    throw new UnsupportedOperationException();
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。