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


Java Intent.getComponent方法代码示例

本文整理汇总了Java中android.content.Intent.getComponent方法的典型用法代码示例。如果您正苦于以下问题:Java Intent.getComponent方法的具体用法?Java Intent.getComponent怎么用?Java Intent.getComponent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.content.Intent的用法示例。


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

示例1: isValidActivity

import android.content.Intent; //导入方法依赖的package包/类
/**
 * Checks whether or not the Intent corresponds to an Activity that should be tracked.
 * @param isIncognito Whether or not the TabModel is managing incognito tabs.
 * @param intent Intent used to launch the Activity.
 * @return Whether or not to track the Activity.
 */
public boolean isValidActivity(boolean isIncognito, Intent intent) {
    if (intent == null) return false;
    String desiredClassName = isIncognito ? mIncognitoClass.getName() : mRegularClass.getName();
    String desiredLegacyClassName = isIncognito
            ? DocumentActivity.LEGACY_INCOGNITO_CLASS_NAME
            : DocumentActivity.LEGACY_CLASS_NAME;
    String className = null;
    if (intent.getComponent() == null) {
        ResolveInfo resolveInfo = ExternalNavigationDelegateImpl.resolveActivity(intent);
        if (resolveInfo != null) className = resolveInfo.activityInfo.name;
    } else {
        className = intent.getComponent().getClassName();
    }

    return TextUtils.equals(className, desiredClassName)
            || TextUtils.equals(className, desiredLegacyClassName);
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:24,代码来源:ActivityDelegate.java

示例2: resolveActivityInfo

import android.content.Intent; //导入方法依赖的package包/类
public synchronized ActivityInfo resolveActivityInfo(Intent intent, int userId) {
    ActivityInfo activityInfo = null;
    if (intent.getComponent() == null) {
        ResolveInfo resolveInfo = VPackageManager.get().resolveIntent(intent, intent.getType(), 0, userId);
        if (resolveInfo != null && resolveInfo.activityInfo != null) {
            activityInfo = resolveInfo.activityInfo;
            intent.setClassName(activityInfo.packageName, activityInfo.name);
        }
    } else {
        activityInfo = resolveActivityInfo(intent.getComponent(), userId);
    }
    if (activityInfo != null) {
        if (activityInfo.targetActivity != null) {
            ComponentName componentName = new ComponentName(activityInfo.packageName, activityInfo.targetActivity);
            activityInfo = VPackageManager.get().getActivityInfo(componentName, 0, userId);
            intent.setComponent(componentName);
        }
    }
    return activityInfo;
}
 
开发者ID:coding-dream,项目名称:TPlayer,代码行数:21,代码来源:VirtualCore.java

示例3: onStartCommand

import android.content.Intent; //导入方法依赖的package包/类
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    if (intent == null) {
        return super.onStartCommand(intent, flags, startId);
    }

    Intent target = intent.getParcelableExtra(EXTRA_TARGET);
    if (target != null) {
        String pluginLocation = intent.getStringExtra(EXTRA_PLUGIN_LOCATION);
        ComponentName component = target.getComponent();
        LoadedPlugin plugin = PluginManager.getInstance(this).getLoadedPlugin(component);
        if (plugin == null && pluginLocation != null) {
            try {
                PluginManager.getInstance(this).loadPlugin(new File(pluginLocation));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    return super.onStartCommand(intent, flags, startId);
}
 
开发者ID:didi,项目名称:VirtualAPK,代码行数:23,代码来源:RemoteService.java

示例4: selectStubServiceInfoByIntent

import android.content.Intent; //导入方法依赖的package包/类
@Override
public ServiceInfo selectStubServiceInfoByIntent(Intent intent) throws RemoteException {
    ServiceInfo ai = null;
    if (intent.getComponent() != null) {
        ai = getServiceInfo(intent.getComponent(), 0);
    } else {
        ResolveInfo resolveInfo = resolveIntent(intent, intent.resolveTypeIfNeeded(mContext.getContentResolver()), 0);
        if (resolveInfo.serviceInfo != null) {
            ai = resolveInfo.serviceInfo;
        }
    }

    if (ai != null) {
        return selectStubServiceInfo(ai);
    }
    return null;
}
 
开发者ID:amikey,项目名称:DroidPlugin,代码行数:18,代码来源:IPluginManagerImpl.java

示例5: dump

import android.content.Intent; //导入方法依赖的package包/类
public static void dump(Intent intent) {
    if (intent == null) {
        e("Intent is null");
        return;
    }

    e("Intent: action: %s", intent.getAction());

    if (intent.getPackage() != null) {
        e("  pkg: %s", intent.getPackage());
    }

    if (intent.getType() != null) {
        e("  type: %s", intent.getType());
    }

    if (intent.getComponent() != null) {
        e("  comp: %s", intent.getComponent().flattenToString());
    }

    if (intent.getDataString() != null) {
        e("  data: %s", intent.getDataString());
    }

    if (intent.getCategories() != null) {
        for (String cat : intent.getCategories()) {
            e("  cat: %s", cat);
        }
    }

    Bundle bundle = intent.getExtras();
    if (bundle != null) {
        for (String key : bundle.keySet()) {
            Object value = bundle.get(key);
            e("  extra: %s->%s", key, value);
        }
    }

}
 
开发者ID:NamTranDev,项目名称:CleanArchitechture,代码行数:40,代码来源:Logger.java

示例6: getPluginName

import android.content.Intent; //导入方法依赖的package包/类
/**
 * 获取插件名称
 */
private static String getPluginName(Activity activity, Intent intent) {
    String plugin = "";
    if (intent.getComponent() != null) {
        plugin = intent.getComponent().getPackageName();
    }
    // 如果 plugin 是包名,则说明启动的是本插件。
    if (TextUtils.isEmpty(plugin) || plugin.contains(".")) {
        plugin = RePlugin.fetchPluginNameByClassLoader(activity.getClassLoader());
    }
    // 否则是其它插件
    return plugin;
}
 
开发者ID:wangyupeng1-iri,项目名称:springreplugin,代码行数:16,代码来源:RePluginInternal.java

示例7: fallBackToClassNotFoundCallback

import android.content.Intent; //导入方法依赖的package包/类
public static void fallBackToClassNotFoundCallback(Context context,
		Intent intent, String componentName) {
	if(Framework.getClassNotFoundCallback() !=null){
		TrackH5FallBack(componentName);
		if(intent.getComponent() == null && !TextUtils.isEmpty(componentName)){
			intent.setClassName(context,componentName);
		}
	    if(intent.getComponent()!=null) {
	        Framework.getClassNotFoundCallback().returnIntent(intent);
	    }
	}
}
 
开发者ID:alibaba,项目名称:atlas,代码行数:13,代码来源:InstrumentationHook.java

示例8: isLauncherAppTarget

import android.content.Intent; //导入方法依赖的package包/类
/**
 * Returns true if the intent is a valid launch intent for a launcher activity of an app.
 * This is used to identify shortcuts which are different from the ones exposed by the
 * applications' manifest file.
 *
 * @param launchIntent The intent that will be launched when the shortcut is clicked.
 */
public static boolean isLauncherAppTarget(Intent launchIntent) {
    if (launchIntent != null
            && Intent.ACTION_MAIN.equals(launchIntent.getAction())
            && launchIntent.getComponent() != null
            && launchIntent.getCategories() != null
            && launchIntent.getCategories().size() == 1
            && launchIntent.hasCategory(Intent.CATEGORY_LAUNCHER)
            && TextUtils.isEmpty(launchIntent.getDataString())) {
        // An app target can either have no extra or have ItemInfo.EXTRA_PROFILE.
        Bundle extras = launchIntent.getExtras();
        return extras == null || extras.keySet().isEmpty();
    }
    return false;
}
 
开发者ID:enricocid,项目名称:LaunchEnr,代码行数:22,代码来源:Utilities.java

示例9: markIntentIfNeeded

import android.content.Intent; //导入方法依赖的package包/类
public void markIntentIfNeeded(Intent intent) {
    if (intent.getComponent() == null) {
        return;
    }

    String targetPackageName = intent.getComponent().getPackageName();
    String targetClassName = intent.getComponent().getClassName();
    // search map and return specific launchmode stub activity
    if (!targetPackageName.equals(mContext.getPackageName()) && mPluginManager.getLoadedPlugin(targetPackageName) != null) {
        intent.putExtra(Constants.KEY_IS_PLUGIN, true);
        intent.putExtra(Constants.KEY_TARGET_PACKAGE, targetPackageName);
        intent.putExtra(Constants.KEY_TARGET_ACTIVITY, targetClassName);
        dispatchStubActivity(intent);
    }
}
 
开发者ID:didi,项目名称:VirtualAPK,代码行数:16,代码来源:ComponentsHandler.java

示例10: queryIntentActivities

import android.content.Intent; //导入方法依赖的package包/类
@Override
public List<ResolveInfo> queryIntentActivities(Intent intent, String resolvedType, int flags, int userId) {
    checkUserId(userId);
    flags = updateFlagsNought(flags);
    ComponentName comp = intent.getComponent();
    if (comp == null) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
            if (intent.getSelector() != null) {
                intent = intent.getSelector();
                comp = intent.getComponent();
            }
        }
    }
    if (comp != null) {
        final List<ResolveInfo> list = new ArrayList<ResolveInfo>(1);
        final ActivityInfo ai = getActivityInfo(comp, flags, userId);
        if (ai != null) {
            final ResolveInfo ri = new ResolveInfo();
            ri.activityInfo = ai;
            list.add(ri);
        }
        return list;
    }

    // reader
    synchronized (mPackages) {
        final String pkgName = intent.getPackage();
        if (pkgName == null) {
            return mActivities.queryIntent(intent, resolvedType, flags, userId);
        }
        final VPackage pkg = mPackages.get(pkgName);
        if (pkg != null) {
            return mActivities.queryIntentForPackage(intent, resolvedType, flags, pkg.activities, userId);
        }
        return Collections.emptyList();
    }
}
 
开发者ID:coding-dream,项目名称:TPlayer,代码行数:38,代码来源:VPackageManagerService.java

示例11: bindServiceLocked

import android.content.Intent; //导入方法依赖的package包/类
int bindServiceLocked(Intent intent, IServiceConnection connection, int flags, Messenger client) {
    intent = cloneIntentLocked(intent);
    ComponentName cn = intent.getComponent();
    ProcessRecord callerPr = retrieveProcessRecordLocked(client);
    ServiceRecord sr = retrieveServiceLocked(intent);
    if (sr == null) {
        return 0;
    }
    if (!installServiceIfNeededLocked(sr)) {
        return 0;
    }

    // 将ServiceConnection连接加入各种表中
    ProcessBindRecord b = sr.retrieveAppBindingLocked(intent, callerPr);
    insertConnectionToRecords(sr, b, connection, flags);

    // 判断是否已经绑定过
    if (b.intent.hasBound) {
        // 之前此Intent已绑定过,则直接返回。像系统那样
        // 注意:不管哪个进程,只要第一次绑定过了,其后直接返回。像系统那样
        callConnectedMethodLocked(connection, cn, b.intent.binder);
    } else {
        // 没有绑定,则直接调用onBind,且记录绑定状态
        if (b.intent.apps.size() > 0) {
            IBinder bd = sr.service.onBind(intent);
            b.intent.hasBound = true;
            b.intent.binder = bd;
            if (bd != null) {
                // 为空就不会回调,但仍算绑定成功。像系统那样
                callConnectedMethodLocked(connection, cn, bd);
            }
        }
    }
    if (LOG) {
        LogDebug.i(PLUGIN_TAG, "PSM.bindService(): Bind! inb=" + b + "; fl=" + flags + "; sr=" + sr);
    }
    return 1;
}
 
开发者ID:wangyupeng1-iri,项目名称:springreplugin,代码行数:39,代码来源:PluginServiceServer.java

示例12: isStubComponent

import android.content.Intent; //导入方法依赖的package包/类
public static boolean isStubComponent(Intent intent) {
    return intent != null
            && intent.getComponent() != null
            && VirtualCore.get().getHostPkg().equals(intent.getComponent().getPackageName());
}
 
开发者ID:codehz,项目名称:container,代码行数:6,代码来源:ComponentUtils.java

示例13: onReceive

import android.content.Intent; //导入方法依赖的package包/类
@Override
    public void onReceive(Context context, Intent intent) {
        if (!BuildConfig.DEBUG) Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(context));
        String action = intent.getAction();
        if ("com.android.launcher.action.INSTALL_SHORTCUT".equals(action)) {
            Log.d("ShortcutCatch", "intent received");
            Bundle extras = intent.getExtras();
            if (extras != null) {

                try {
                    Log.d("ShortcutCatch", "Shortcut name: " + intent.getStringExtra(Intent.EXTRA_SHORTCUT_NAME));
                    Intent intent2 = (Intent) extras.get(Intent.EXTRA_SHORTCUT_INTENT);
                    Bitmap receivedicon = (Bitmap) extras.get(Intent.EXTRA_SHORTCUT_ICON);
                    if (intent2 != null) {
                        Uri data = intent2.getData();
                        ComponentName cn = intent2.getComponent();


                        String intentaction = intent2.getAction();
                        String shortcutLabel = intent.getStringExtra(Intent.EXTRA_SHORTCUT_NAME);
//                        for (String key: intent2.getExtras().keySet()) {
//                            Log.d("ShortcutCatch", " extra2: " + key + " = " + intent2.getExtras().get(key));
//                        }

                        Log.d("ShortcutCatch", "intent2.action=" + intent2.getAction());
                        Log.d("ShortcutCatch", "uri=" + data);
                        if (cn != null) {
                            Log.d("ShortcutCatch", "cn2package=" + cn.getPackageName() + ", cn2classname=" + cn.getClassName());

                            addLink(context, shortcutLabel, data, cn, receivedicon);
                        } else if (intentaction!=null){
                            Log.d("ShortcutCatch", "intentaction=" + intentaction + " uri=" + data);
                            addLink(context, intentaction, shortcutLabel, data, receivedicon);
                        }
                    }
                } catch (Exception e) {
                    Log.e("ShortcutCatch", "Can't make shortcutlink", e);
                }

            }


        } else {
            Log.d("ShortcutCatch", "unknown intent received: " + action);
        }

    }
 
开发者ID:quaap,项目名称:LaunchTime,代码行数:48,代码来源:ShortcutReceiver.java

示例14: attach

import android.content.Intent; //导入方法依赖的package包/类
final void attach(Context context, ActivityThread aThread,
                  Instrumentation instr, IBinder token, int ident,
                  Application application, Intent intent, ActivityInfo info,
                  CharSequence title, Activity parent, String id,
                  NonConfigurationInstances lastNonConfigurationInstances,
                  Configuration config, String referrer, IVoiceInteractor voiceInteractor,
                  Window window) {
    attachBaseContext(context);

    mFragments.attachHost(null /*parent*/);

    mWindow = new PhoneWindow(this, window);
    mWindow.setWindowControllerCallback(this);
    mWindow.setCallback(this);
    mWindow.setOnWindowDismissedCallback(this);
    mWindow.getLayoutInflater().setPrivateFactory(this);
    if (info.softInputMode != WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED) {
        mWindow.setSoftInputMode(info.softInputMode);
    }
    if (info.uiOptions != 0) {
        mWindow.setUiOptions(info.uiOptions);
    }
    mUiThread = Thread.currentThread();

    mMainThread = aThread;
    mInstrumentation = instr;
    mToken = token;
    mIdent = ident;
    mApplication = application;
    mIntent = intent;
    mReferrer = referrer;
    mComponent = intent.getComponent();
    mActivityInfo = info;
    mTitle = title;
    mParent = parent;
    mEmbeddedID = id;
    mLastNonConfigurationInstances = lastNonConfigurationInstances;
    if (voiceInteractor != null) {
        if (lastNonConfigurationInstances != null) {
            mVoiceInteractor = lastNonConfigurationInstances.voiceInteractor;
        } else {
            mVoiceInteractor = new VoiceInteractor(voiceInteractor, this, this,
                    Looper.myLooper());
        }
    }

    mWindow.setWindowManager(
            (WindowManager)context.getSystemService(Context.WINDOW_SERVICE),
            mToken, mComponent.flattenToString(),
            (info.flags & ActivityInfo.FLAG_HARDWARE_ACCELERATED) != 0);
    if (mParent != null) {
        mWindow.setContainer(mParent.getWindow());
    }
    mWindowManager = mWindow.getWindowManager();
    mCurrentConfig = config;
}
 
开发者ID:JessYanCoding,项目名称:ProgressManager,代码行数:57,代码来源:a.java

示例15: getClassName

import android.content.Intent; //导入方法依赖的package包/类
public static String getClassName(Intent intent) {
    if (intent != null && intent.getComponent() != null) {
        return intent.getComponent().getClassName();
    }
    return null;
}
 
开发者ID:LiangMaYong,项目名称:android-apkbox,代码行数:7,代码来源:ApkComponentModifier.java


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