当前位置: 首页>>代码示例>>Java>>正文


Java ActivityThread类代码示例

本文整理汇总了Java中mirror.android.app.ActivityThread的典型用法代码示例。如果您正苦于以下问题:Java ActivityThread类的具体用法?Java ActivityThread怎么用?Java ActivityThread使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


ActivityThread类属于mirror.android.app包,在下文中一共展示了ActivityThread类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: handleNewIntent

import mirror.android.app.ActivityThread; //导入依赖的package包/类
private void handleNewIntent(NewIntentData data) {
    Intent intent;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
        intent = ReferrerIntent.ctor.newInstance(data.intent, data.creator);
    } else {
        intent = data.intent;
    }
    if (ActivityThread.performNewIntents != null) {
        ActivityThread.performNewIntents.call(
                VirtualCore.mainThread(),
                data.token,
                Collections.singletonList(intent)
        );
    } else {
        ActivityThreadNMR1.performNewIntents.call(
                VirtualCore.mainThread(),
                data.token,
                Collections.singletonList(intent),
                true);
    }
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:22,代码来源:VClientImpl.java

示例2: startup

import mirror.android.app.ActivityThread; //导入依赖的package包/类
public void startup(Context context) throws Throwable {
    if (!isStartUp) {
        if (Looper.myLooper() != Looper.getMainLooper()) {
            throw new IllegalStateException("VirtualCore.startup() must called in main thread.");
        }
        StubManifest.STUB_CP_AUTHORITY = context.getPackageName() + "." + StubManifest.STUB_DEF_AUTHORITY;
        ServiceManagerNative.SERVICE_CP_AUTH = context.getPackageName() + "." + ServiceManagerNative.SERVICE_DEF_AUTH;
        this.context = context;
        mainThread = ActivityThread.currentActivityThread.call();
        unHookPackageManager = context.getPackageManager();
        hostPkgInfo = unHookPackageManager.getPackageInfo(context.getPackageName(), PackageManager.GET_PROVIDERS);
        detectProcessType();
        InvocationStubManager invocationStubManager = InvocationStubManager.getInstance();
        invocationStubManager.init();
        invocationStubManager.injectAll();
        ContextFixer.fixContext(context);
        isStartUp = true;
        if (initLock != null) {
            initLock.open();
            initLock = null;
        }
    }
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:24,代码来源:VirtualCore.java

示例3: detectProcessType

import mirror.android.app.ActivityThread; //导入依赖的package包/类
private void detectProcessType() {
    // Host package name
    hostPkgName = context.getApplicationInfo().packageName;
    // Main process name
    mainProcessName = context.getApplicationInfo().processName;
    // Current process name
    processName = ActivityThread.getProcessName.call(mainThread);
    if (processName.equals(mainProcessName)) {
        processType = ProcessType.Main;
    } else if (processName.endsWith(Constants.SERVER_PROCESS_NAME)) {
        processType = ProcessType.Server;
    } else if (VActivityManager.get().isAppProcess(processName)) {
        processType = ProcessType.VAppClient;
    } else {
        processType = ProcessType.CHILD;
    }
    if (isVAppProcess()) {
        systemPid = VActivityManager.get().getSystemPid();
    }
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:21,代码来源:VirtualCore.java

示例4: realStartActivitiesLocked

import mirror.android.app.ActivityThread; //导入依赖的package包/类
private void realStartActivitiesLocked(IBinder resultTo, Intent[] intents, String[] resolvedTypes, Bundle options) {
    Class<?>[] types = IActivityManager.startActivities.paramList();
    Object[] args = new Object[types.length];
    if (types[0] == IApplicationThread.TYPE) {
        args[0] = ActivityThread.getApplicationThread.call(VirtualCore.mainThread());
    }
    int pkgIndex = ArrayUtils.protoIndexOf(types, String.class);
    int intentsIndex = ArrayUtils.protoIndexOf(types, Intent[].class);
    int resultToIndex = ArrayUtils.protoIndexOf(types, IBinder.class, 2);
    int optionsIndex = ArrayUtils.protoIndexOf(types, Bundle.class);
    int resolvedTypesIndex = intentsIndex + 1;
    if (pkgIndex != -1) {
        args[pkgIndex] = VirtualCore.get().getHostPkg();
    }
    args[intentsIndex] = intents;
    args[resultToIndex] = resultTo;
    args[resolvedTypesIndex] = resolvedTypes;
    args[optionsIndex] = options;
    ClassUtils.fixArgs(types, args);
    IActivityManager.startActivities.call(ActivityManagerNative.getDefault.call(),
            (Object[]) args);
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:23,代码来源:ActivityStack.java

示例5: getDelegate

import mirror.android.app.ActivityThread; //导入依赖的package包/类
public static IServiceConnection getDelegate(Context context, ServiceConnection connection,int flags) {
    IServiceConnection sd = null;
    if (connection == null) {
        throw new IllegalArgumentException("connection is null");
    }
    try {
        Object activityThread = ActivityThread.currentActivityThread.call();
        Object loadApk = ContextImpl.mPackageInfo.get(VirtualCore.get().getContext());
        Handler handler = ActivityThread.getHandler.call(activityThread);
        sd = LoadedApk.getServiceDispatcher.call(loadApk, connection, context, handler, flags);
    } catch (Exception e) {
        Log.e("ConnectionDelegate", "getServiceDispatcher", e);
    }
    if (sd == null) {
        throw new RuntimeException("Not supported in system context");
    }
    return getDelegate(sd);
}
 
开发者ID:coding-dream,项目名称:TPlayer,代码行数:19,代码来源:ServiceConnectionDelegate.java

示例6: startup

import mirror.android.app.ActivityThread; //导入依赖的package包/类
public void startup(Context context) throws Throwable {
    if (!isStartUp) {
        if (Looper.myLooper() != Looper.getMainLooper()) {
            throw new IllegalStateException("VirtualCore.startup() must called in main thread.");
        }
        VASettings.STUB_CP_AUTHORITY = context.getPackageName() + "." + VASettings.STUB_DEF_AUTHORITY;
        ServiceManagerNative.SERVICE_CP_AUTH = context.getPackageName() + "." + ServiceManagerNative.SERVICE_DEF_AUTH;
        this.context = context;
        mainThread = ActivityThread.currentActivityThread.call();
        unHookPackageManager = context.getPackageManager();
        hostPkgInfo = unHookPackageManager.getPackageInfo(context.getPackageName(), PackageManager.GET_PROVIDERS);
        detectProcessType();
        InvocationStubManager invocationStubManager = InvocationStubManager.getInstance();
        invocationStubManager.init();
        invocationStubManager.injectAll();
        ContextFixer.fixContext(context);
        isStartUp = true;
        if (initLock != null) {
            initLock.open();
            initLock = null;
        }
    }
}
 
开发者ID:coding-dream,项目名称:TPlayer,代码行数:24,代码来源:VirtualCore.java

示例7: handleNewIntent

import mirror.android.app.ActivityThread; //导入依赖的package包/类
private void handleNewIntent(NewIntentData data) {
    Intent intent;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
        intent = ReferrerIntent.ctor.newInstance(data.intent, data.creator);
    } else {
        intent = data.intent;
    }
    if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.N) {
        ActivityThread.performNewIntents.call(
                VirtualCore.mainThread(),
                data.token,
                Collections.singletonList(intent)
        );
    } else {
        ActivityThreadNMR1.performNewIntents.call(
                VirtualCore.mainThread(),
                data.token,
                Collections.singletonList(intent),
                true
        );
    }
}
 
开发者ID:codehz,项目名称:container,代码行数:23,代码来源:VClientImpl.java

示例8: startup

import mirror.android.app.ActivityThread; //导入依赖的package包/类
public void startup(Context context) throws Throwable {
    if (!isStartUp) {
        if (Looper.myLooper() != Looper.getMainLooper()) {
            throw new IllegalStateException("VirtualCore.startup() must called in main thread.");
        }
        StubManifest.STUB_CP_AUTHORITY = context.getPackageName() + "." + StubManifest.STUB_DEF_AUTHORITY;
        ServiceManagerNative.SERVICE_CP_AUTH = context.getPackageName() + "." + ServiceManagerNative.SERVICE_DEF_AUTH;
        this.context = context;
        mainThread = ActivityThread.currentActivityThread.call();
        unHookPackageManager = context.getPackageManager();
        hostPkgInfo = unHookPackageManager.getPackageInfo(context.getPackageName(), PackageManager.GET_PROVIDERS);
        detectProcessType();
        PatchManager patchManager = PatchManager.getInstance();
        patchManager.init();
        patchManager.injectAll();
        ContextFixer.fixContext(context);
        isStartUp = true;
        if (initLock != null) {
            initLock.open();
            initLock = null;
        }
    }
}
 
开发者ID:codehz,项目名称:container,代码行数:24,代码来源:VirtualCore.java

示例9: realStartActivityLocked

import mirror.android.app.ActivityThread; //导入依赖的package包/类
private void realStartActivityLocked(IBinder resultTo, Intent intent, String resultWho, int requestCode,
                                     Bundle options) {
    Class<?>[] types = mirror.android.app.IActivityManager.startActivity.paramList();
    Object[] args = new Object[types.length];
    if (types[0] == IApplicationThread.TYPE) {
        args[0] = ActivityThread.getApplicationThread.call(VirtualCore.mainThread());
    }
    int intentIndex = ArrayUtils.protoIndexOf(types, Intent.class);
    int resultToIndex = ArrayUtils.protoIndexOf(types, IBinder.class, 2);
    int optionsIndex = ArrayUtils.protoIndexOf(types, Bundle.class);
    int resolvedTypeIndex = intentIndex + 1;
    int resultWhoIndex = resultToIndex + 1;
    int requestCodeIndex = resultToIndex + 2;

    args[intentIndex] = intent;
    args[resultToIndex] = resultTo;
    args[resultWhoIndex] = resultWho;
    args[requestCodeIndex] = requestCode;
    if (optionsIndex != -1) {
        args[optionsIndex] = options;
    }
    args[resolvedTypeIndex] = intent.getType();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
        args[intentIndex - 1] = VirtualCore.get().getHostPkg();
    }
    ClassUtils.fixArgs(types, args);

    mirror.android.app.IActivityManager.startActivity.call(ActivityManagerNative.getDefault.call(),
            (Object[]) args);
}
 
开发者ID:codehz,项目名称:container,代码行数:31,代码来源:ActivityStack.java

示例10: getAppThread

import mirror.android.app.ActivityThread; //导入依赖的package包/类
@Override
public IBinder getAppThread() {
    Binder appThread = ActivityThread.getApplicationThread.call(VirtualCore.mainThread());
    return new FakeIdentityBinder(appThread) {
        @Override
        protected int getFakeUid() {
            return Process.SYSTEM_UID;
        }
    };
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:11,代码来源:VClientImpl.java

示例11: fixBoundApp

import mirror.android.app.ActivityThread; //导入依赖的package包/类
private Object fixBoundApp(AppBindData data) {
    Object thread = VirtualCore.mainThread();
    Object boundApp = mirror.android.app.ActivityThread.mBoundApplication.get(thread);
    mirror.android.app.ActivityThread.AppBindData.appInfo.set(boundApp, data.appInfo);
    mirror.android.app.ActivityThread.AppBindData.processName.set(boundApp, data.processName);
    mirror.android.app.ActivityThread.AppBindData.instrumentationName.set(
            boundApp,
            new ComponentName(data.appInfo.packageName, Instrumentation.class.getName())
    );
    ActivityThread.AppBindData.providers.set(boundApp, data.providers);
    return boundApp;
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:13,代码来源:VClientImpl.java

示例12: installContentProviders

import mirror.android.app.ActivityThread; //导入依赖的package包/类
private void installContentProviders(Context app, List<ProviderInfo> providers) {
    long origId = Binder.clearCallingIdentity();
    Object mainThread = VirtualCore.mainThread();
    try {
        for (ProviderInfo cpi : providers) {
            if (cpi.enabled) {
                ActivityThread.installProvider(mainThread, app, cpi, null);
            }
        }
    } finally {
        Binder.restoreCallingIdentity(origId);
    }
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:14,代码来源:VClientImpl.java

示例13: inject

import mirror.android.app.ActivityThread; //导入依赖的package包/类
@Override
public void inject() throws Throwable {
	final IInterface hookedPM = getInvocationStub().getProxyInterface();
	ActivityThread.sPackageManager.set(hookedPM);

	BinderInvocationStub pmHookBinder = new BinderInvocationStub(getInvocationStub().getBaseInterface());
	pmHookBinder.copyMethodProxies(getInvocationStub());
	pmHookBinder.replaceService("package");
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:10,代码来源:PackageManagerStub.java

示例14: create

import mirror.android.app.ActivityThread; //导入依赖的package包/类
private static AppInstrumentation create() {
    Instrumentation instrumentation = ActivityThread.mInstrumentation.get(VirtualCore.mainThread());
    if (instrumentation instanceof AppInstrumentation) {
        return (AppInstrumentation) instrumentation;
    }
    return new AppInstrumentation(instrumentation);
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:8,代码来源:AppInstrumentation.java

示例15: sendActivityResult

import mirror.android.app.ActivityThread; //导入依赖的package包/类
public void sendActivityResult(IBinder resultTo, String resultWho, int requestCode) {
    ActivityClientRecord r = mActivities.get(resultTo);
    if (r != null && r.activity != null) {
        Object mainThread = VirtualCore.mainThread();
        ActivityThread.sendActivityResult.call(mainThread, resultTo, resultWho, requestCode, 0, null);
    }
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:8,代码来源:VActivityManager.java


注:本文中的mirror.android.app.ActivityThread类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。