写点什么

Android 隐藏活动启动器 - 一键创建应用快捷方式

作者:qife122
  • 2025-09-21
    福建
  • 本文字数:1616 字

    阅读完需:约 5 分钟

Activity Launcher

Activity Launcher 是一款功能强大的 Android 应用程序,专门用于启动隐藏的系统活动并为已安装的应用创建桌面快捷方式。

功能特性

  • 隐藏活动启动: 访问和启动 Android 系统中隐藏的活动界面

  • 快捷方式创建: 为任何已安装的应用程序创建桌面快捷方式

  • 多语言支持: 完整的国际化支持,通过 Crowdin 平台进行翻译协作

  • 双平台分发: 同时提供 F-Droid 开源市场和 Google Play 商店版本

  • 权限管理: 支持 Home screen shortcuts 权限配置

安装指南

系统要求

  • Android 5.0 及以上版本

  • 需要授予"主屏幕快捷方式"权限

安装方式

F-Droid 商店安装:


# 通过F-Droid商店获取开源版本访问 https://f-droid.org/packages/de.szalkowski.activitylauncher/
复制代码


Google Play 商店安装:


# 通过Google Play获取专业版本访问 https://play.google.com/store/apps/details?id=de.szalkowski.activitylauncher.pro
复制代码

权限配置

如果快捷方式无法创建,请确保已授予相应权限:


  1. 进入设置 -> 应用 -> 管理应用 -> Activity Launcher

  2. 选择"其他权限" -> "主屏幕快捷方式"

  3. 启用该权限

使用说明

基本使用

安装后打开应用,您将看到:


  • 所有已安装应用程序列表

  • 每个应用可用的活动和服务

  • 长按任何活动即可创建桌面快捷方式

创建快捷方式示例

// 通过Activity Launcher创建的快捷方式实际上是深度链接// 可以直接启动应用的特定功能界面Intent shortcutIntent = new Intent();shortcutIntent.setClassName("package.name", "activity.class.name");
复制代码

多语言支持

应用支持多种语言翻译,翻译贡献通过 Crowdin 平台进行:


# 参与翻译项目访问 https://crowdin.com/project/ActivityLauncher
复制代码

核心代码

字符串资源解析

def parse_strings_resources(filename):    """解析XML字符串资源文件"""    with open(filename, "r") as fd:        dom = parse_xml(fd)    result = dict()    for element in dom.childNodes[0].getElementsByTagName("string"):        key = element.attributes.getNamedItem("name").value        value = element.childNodes[0].data        result[key] = value    return result
复制代码

多语言资源加载

def load_string_resources():    """加载所有多语言字符串资源"""    regex = re.compile("-(.*)\/")    strings = dict()
for fname in glob("ActivityLauncherApp/src/main/res/values-*/strings.xml"): code = next(regex.finditer(fname))[1].split("-") if len(code) > 1: code[1] = code[1][1:]
resources = parse_strings_resources(fname) strings[tuple(code)] = { "shortDescription": resources["short_description"], "title": resources["app_name"], } return strings
复制代码

Google Play 商店列表更新

def update_listings(service, strings):    """更新Google Play商店的应用列表信息"""    # 准备编辑请求    edit_request = service.edits().insert(body={}, packageName=PACKAGE_NAME)    result = edit_request.execute()    edit_id = result["id"]
# 处理所有描述文件 regex = re.compile("-(.*)\.") for fname in glob("descriptions/description-*.txt"): code = next(regex.finditer(fname))[1].split("-") if len(code) > 2 or code[0] == "xxx": continue
with open(fname, "r") as fd: fullDescription = fd.read()
doc = find_strings(code, strings) doc["fullDescription"] = fullDescription
# 更新商店列表 service.edits().listings().update( editId=edit_id, packageName=PACKAGE_NAME, language="-".join(code), body=doc ).execute()
复制代码


更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码


办公AI智能小助手


用户头像

qife122

关注

还未添加个人签名 2021-05-19 加入

还未添加个人简介

评论

发布
暂无评论
Android隐藏活动启动器 - 一键创建应用快捷方式_android_qife122_InfoQ写作社区