打电话沟通做网站话术昌平手机网站建设

张小明 2025/12/30 7:55:09
打电话沟通做网站话术,昌平手机网站建设,用wordpress搭建商店,wordpress 颜色插件下载这两种方法#xff08;Intent直接唤起 和 DeepLink#xff09;的核心区别在于#xff1a;它们不需要把代码合并在一起#xff0c;而是保持两个独立的 APK#xff08;App A 和 App B#xff09;#xff0c;通过 Android 系统的通信机制让它们互相“对话”。 假设场景Intent直接唤起 和 DeepLink的核心区别在于它们不需要把代码合并在一起而是保持两个独立的 APKApp A 和 App B通过 Android 系统的通信机制让它们互相“对话”。假设场景App A (主控端)想要打开另一个 App。App B (被控端)拥有你想要展示的功能页面。以下是详细教程方法一通过包名/类名直接唤起 (Intent ComponentName)这种方法最简单直接适合App B 是你自己的且你知道它的确切包名和类名的情况。第一步配置 App B (被唤起方)在 App B 的AndroidManifest.xml中找到你想要让外部启动的那个 Activity比如MainActivity或者FunctionActivity。关键点必须添加android:exportedtrue。!-- App B 的 AndroidManifest.xml --manifestpackagecom.ebike.intercept!-- 假设这是 App B 的包名 --application...!-- 这里的 exportedtrue 允许外部 App 启动它 --activityandroid:name.MainActivityandroid:exportedtrueintent-filteractionandroid:nameandroid.intent.action.MAIN/categoryandroid:nameandroid.intent.category.LAUNCHER//intent-filter/activity/application/manifest第二步配置 App A (发起方) - 适配 Android 11从 Android 11 (API 30) 开始为了隐私安全App A 默认看不见App B 是否安装。你需要添加queries标签声明“我需要查询 App B”。在 App A 的AndroidManifest.xml中!-- App A 的 AndroidManifest.xml --manifestpackagecom.example.appa!-- 必须添加这个否则检测不到 App B 是否安装 --queriespackageandroid:namecom.ebike.intercept/!-- 填 App B 的包名 --/queriesapplication....../manifest第三步在 App A 的 Java 代码中编写跳转逻辑// 在 App A 的点击事件中publicvoidjumpToAppB(){// 1. 定义 App B 的包名和类名StringpackageNamecom.ebike.intercept;StringclassNamecom.ebike.intercept.MainActivity;// 必须是完整路径// 2. 检查 App B 是否安装为了防止 Crashif(isAppInstalled(context,packageName)){IntentintentnewIntent();// 3. 设置 ComponentNameComponentNamecomponentNamenewComponentName(packageName,className);intent.setComponent(componentName);// 4. (可选) 传递数据intent.putExtra(key_from_a,Hello from App A);// 5. 必须加 NEW_TASK 标记如果在非 Activity 环境下启动intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);}else{Toast.makeText(context,请先安装 App B,Toast.LENGTH_SHORT).show();}}// 辅助方法检查 App 是否安装privatebooleanisAppInstalled(Contextcontext,StringpackageName){try{context.getPackageManager().getPackageInfo(packageName,0);returntrue;}catch(PackageManager.NameNotFoundExceptione){returnfalse;}}方法二使用 DeepLink (自定义 URL Scheme)这是更推荐的现代做法它的耦合度更低。App A 不需要知道 App B 的具体类名只需要像打开网页一样打开一个 URL例如ebike://home系统会自动找到 App B。第一步配置 App B (被唤起方)你需要给 App B 的某个 Activity 配置一个“暗号”Scheme。在 App B 的AndroidManifest.xml中!-- App B 的 AndroidManifest.xml --activityandroid:name.DetailActivity!-- 这里的 intent-filter 是关键 --intent-filter!-- 必须有 ACTION_VIEW --actionandroid:nameandroid.intent.action.VIEW/!-- 必须有 DEFAULT --categoryandroid:nameandroid.intent.category.DEFAULT/!-- 允许浏览器唤起可选但推荐 --categoryandroid:nameandroid.intent.category.BROWSABLE/!-- 定义暗号ebike://open_detail --!-- scheme: 协议头host: 路径/主机名 --dataandroid:schemeebikeandroid:hostopen_detail//intent-filter/activity第二步在 App B 中接收参数 (可选)在DetailActivity.java的onCreate方法中// App B 的 DetailActivity.javaOverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_detail);// 获取 Intent 中的数据IntentintentgetIntent();Uridataintent.getData();if(data!null){// 比如 URL 是 ebike://open_detail?msghelloid100Stringmsgdata.getQueryParameter(msg);// 获取 helloStringiddata.getQueryParameter(id);// 获取 100Log.d(DeepLink,收到参数: msg);}}第三步在 App A 中编写跳转逻辑App A 现在根本不需要知道 App B 的包名或类名只需要访问这个 URL。// 在 App A 的点击事件中publicvoidjumpByDeepLink(){// 1. 构建 URI并带上参数Stringurlebike://open_detail?msg来自AppA的问候id666;IntentintentnewIntent(Intent.ACTION_VIEW,Uri.parse(url));intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// 2. 检查系统中是否有 App 能响应这个 Intent// (注意在 Android 11 上如果 App A 没加 queries这个 resolveActivity 也可能返回 null// 但直接 startActivity 通常会弹出一个系统选择框或者直接跳转)try{startActivity(intent);}catch(Exceptione){Toast.makeText(context,没有检测到已安装的目标应用,Toast.LENGTH_SHORT).show();}}总结对比特性方法一直接唤起 (Intent/ComponentName)方法二DeepLink (URL Scheme)原理“我要去某个具体地址找老王”“我要喊一声老王谁是老王谁答应”配置难度简单中等需配置 IntentFilter耦合度高(需硬编码包名类名B重构改名则A会挂)低(只需约定 URL 字符串)灵活性只能 App 唤起App 和 网页浏览器都能唤起参数传递Bundle (类型丰富)URL 字符串 (只能传 String)适用场景两个 App 都是你开发的且不做网页跳转需要从 H5 页面跳入 App或者想要标准化的协议总结如下如果这两个 App 都要安装在同一台专用设备上比如工业PDA、特定的E-bike中控屏使用方法一直接唤起最快。因为环境是可控的您确定两个 App 都会安装直接写包名跳过去就行代码改动最小。如果您希望看起来像一个 App用户体验更好可以把App A 做成一个“壳”Launcher桌面只显示 App A 的图标。App B 在 Manifest 里去掉LAUNCHERcategory这样桌面上看不到 B 的图标。然后用户打开 A点击某个按钮时A 在后台启动 B 的 Activity。这样用户感觉就像是在同一个软件里操作一样。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

北京时代 网站建设郑州做企业网站

FaceFusion在心理学实验中的辅助角色探讨 在当代心理学研究中,面孔作为社会信息的核心载体,承载着情绪、意图、可信度和人格判断等多重认知功能。然而长期以来,如何精准控制面部刺激材料的质量与变量,一直是困扰研究人员的难题。传…

张小明 2025/12/30 7:55:07 网站建设

yy怎么一直在模板相关信息圆柱钢模板优势是什么?企业网站建设模板和定制化有什么区别呢?拼命加载中长沙百度网站推广优化

FaceFusion与Zoom集成概念验证:会议中实时变脸可行吗? 在远程办公已成为常态的今天,我们每天打开摄像头参加视频会议时,是否曾想过——我必须以“真实”的面孔出现吗?有人担心隐私泄露,有人厌倦了镜头前的形…

张小明 2025/12/30 7:54:33 网站建设

上海网站建设开发公司哪家好wordpress 表格

与AI相比,人机环境系统智能的“活的”特性,本质在于其以“人-机-环境”三元交互为核心,实现了生物智能般的“活性”——即动态适应、价值理解、意向性算计与自我演化的能力,而传统AI(如具身智能、大模型)则…

张小明 2025/12/30 7:53:58 网站建设

网站更改机房备案怎样把网站做的高大上

在科研的浩瀚星空中,期刊论文如同璀璨的星辰,承载着学者的智慧与探索的成果。然而,传统论文写作过程中,选题迷茫、文献梳理繁琐、逻辑构建困难等问题,却像一道道无形的枷锁,束缚着研究者的脚步。如今&#…

张小明 2025/12/30 7:53:24 网站建设

南宁 网站建设 制作wordpress文字颜色

PC微信小程序源码提取终极指南:快速掌握核心技术 【免费下载链接】pc_wxapkg_decrypt_python PC微信小程序 wxapkg 解密 项目地址: https://gitcode.com/gh_mirrors/pc/pc_wxapkg_decrypt_python 你是否曾对微信小程序的技术实现充满好奇,却苦于无…

张小明 2025/12/30 7:52:49 网站建设

做网站优化的价格山东省优质校建设网站

还在为复杂的RAG实验配置而头疼吗?面对繁琐的数据处理流程和难以调试的代码,是不是感觉学术研究的道路充满荆棘?别担心,今天我就带你用LightRAG工具,10分钟内完成从环境搭建到结果生成的完整实验流程,让你轻…

张小明 2025/12/30 7:52:13 网站建设