ComponentName的意思

本文详细介绍了如何使用Intenti.setComponent和ComponentName来打开其他应用程序中的Activity或服务,在Android开发中具有重要应用价值。

ComponentName是用来打开其他应用程序中的Activity或服务的。

用法:

Intent i=new Intent();
i.setComponent(new ComponentName(String packageName,String activityName ));
startActivity(i);

我想的是只有一种类型的映射,像这样: <!-- 小程序relaunch,name填小程序所属应用包名;label填小程序label;enterandexit取值:0仅进入场景,1仅退出场景,2进入和退出场景,3仅分屏内拖拽比例;draw取值: 0拖动比例时刷新,1拖动比例时不刷新 --> <psMiniProgramRelaunch> <package name="com.ss.android.ugc.aweme/com.minigame.merge.miniapphost.placeholder.MiniGameActivity" label="球球大作战" enterandexit="0" draw="1"/> </psDragRelaunch> 代码中也像别的方法一样,返回的是个boolean值,意思代表是否需要刷新,大致如下: public int isMiniProgramNeedRelaunch (String packageName, String componentName, String label, int needDragRelaunch) { if (TextUtils.isEmpty(packageName) && TextUtils.isEmpty(componentName)) { return -1; } if ((packageName + “/” +componentName).包含名单中name字段 && label == 名单中的label字段) { if (判断各种场景) {返回不同的int值,让调用方去判断各种场景是否刷新} } return -1 } 我贴一个之前有的获取xml中内容和判断拼接字段的方法: public boolean isInPocketStudioBlackList(String packageName, String componentName) { if (TextUtils.isEmpty(packageName) && TextUtils.isEmpty(componentName)) { return false; } boolean support = false; mReadLock.lock(); try { String typeString; ArrayMap<String, String> disableMultiMap = mMapSplitTypeMap.get(TAG_DISABLE_MULTI_WINDOW); if (disableMultiMap != null) { if (disableMultiMap.containsKey(componentName)) { typeString = disableMultiMap.get(componentName); } else { typeString = disableMultiMap.get(packageName); } if (!TextUtils.isEmpty(typeString)) { int type = getType(FlexibleWindowUtils.isTabletDevice(), isFoldLargeScreen(), typeString); support = type == DISABLE_SPLIT_SCREEN || type == DISABLE_FLEXIBLE_TASK_SPLIT_SCREEN; } } } finally { mReadLock.unlock(); } if (!support && LIGHT_OS_LEVEL == LIGHT_OS_LOW){ support = isInForceToResizableList(packageName) || isInPsForceToUnResizableList(packageName); } return support; }
最新发布
01-01
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值