HarmonyOS鸿蒙Next中Android应用如何跳转手机管家?

HarmonyOS鸿蒙Next中Android应用如何跳转手机管家? 在EMUI时期使用以下代码可以跳转到手机管家的主Activity

/**
 * 跳转华为手机管家
 * 操作步骤:应用启动管理 -> 关闭应用开关 -> 打开允许自启动
 */
public static void goHuaweiSetting(AppCompatActivity mActivity) {
    try {
        showActivity("com.huawei.systemmanager",
                "com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity", mActivity);
    } catch (Exception e) {
        showActivity("com.huawei.systemmanager",
                "com.huawei.systemmanager.optimize.bootstart.BootStartActivity", mActivity);
    }
    ToastUtil.INSTANCE.showLong("操作步骤:应用启动管理 -> 关闭应用开关 -> 打开允许自启动");
}

/**
 * 跳转荣耀手机管家
 * 操作步骤:应用启动管理 -> 关闭应用开关 -> 打开允许自启动
 */
public static void goHonorSetting(AppCompatActivity mActivity) {
    try {
        showActivity("com.huawei.systemmanager",
                "com.huawei.systemmanager.appcontrol.activity.StartupAppControlActivity", mActivity);
    } catch (Exception e) {
        showActivity("com.huawei.systemmanager",
                "com.huawei.systemmanager.mainscreen.MainScreenActivity", mActivity);
    }
    ToastUtil.INSTANCE.showLong("操作步骤:应用启动管理 -> 关闭应用开关 -> 打开允许自启动");
}

更新鸿蒙2.0后在有的机型失效了。会报ActivityNotFound

Unable to find explicit activity class {com.huawei.systemmanager/com.huawei.systemmanager.optimize.bootstart.BootStartActivity}; have you declared this activity in your AndroidManifest.xml?

然而并不是所有机型都如此,甚至相同的机型之间有的可以成功跳转,有的会报错闪退。

正确的跳转代码应该如何编写?

以下是测试情况:

机型名称 机型代号 测试情况
荣耀30 BMH-AN10 部分荣耀30闪退,鸿蒙2.0.0.220正常跳转
P40 Pro ELS-AN00 闪退
P30 Pro VOG-AL10 鸿蒙2.0.0.210 闪退
Mate 40 Pro NOH-AN00 闪退
Mate 40 OCE-AN10 闪退
荣耀9X HLK-AL00 鸿蒙2.0.0.213 正常跳转
8 回复

解决了嘛?

更多关于HarmonyOS鸿蒙Next中Android应用如何跳转手机管家?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


有下文吗?怎么跳转呢?还是跳转不了?

找HarmonyOS工作还需要会Flutter技术的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

楼主你好,建议先通过日志获取手机管家的应用包名及页面名称,然后再做跳转逻辑。

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

欢迎开发小伙伴们进来帮帮楼主

在HarmonyOS鸿蒙Next中,Android应用可以通过调用系统提供的Intent来实现跳转手机管家的功能。具体步骤如下:

  1. 确定目标Activity:首先需要知道手机管家的Activity名称。通常,手机管家的Activity名称可以通过查看系统应用清单文件或使用ADB命令获取。

  2. 创建Intent:在Android应用中,使用Intent来启动目标Activity。Intent需要指定目标Activity的包名和类名。

  3. 启动Activity:通过调用startActivity(intent)方法来启动目标Activity。

示例代码如下:

Intent intent = new Intent();
intent.setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
startActivity(intent);

其中,com.huawei.systemmanager是手机管家的包名,com.huawei.systemmanager.optimize.process.ProtectActivity是目标Activity的类名。

需要注意的是,不同版本的HarmonyOS或手机管家可能会有不同的Activity名称,因此在实际开发中需要根据具体情况进行调整。此外,调用系统应用的功能可能需要特定的权限,确保在AndroidManifest.xml中声明了相应的权限。

通过以上步骤,Android应用可以在HarmonyOS鸿蒙Next中实现跳转手机管家的功能。

在HarmonyOS鸿蒙Next中,Android应用可以通过调用系统提供的Intent来跳转至手机管家。具体步骤如下:

  1. 创建Intent:使用Intent类创建一个新的Intent对象。
  2. 设置Action:将Intent的Action设置为"android.settings.SECURITY_SETTINGS",这是系统预定义的Action,用于跳转到安全设置页面。
  3. 启动Activity:调用startActivity(intent)方法启动该Intent。

示例代码:

Intent intent = new Intent("android.settings.SECURITY_SETTINGS");
startActivity(intent);
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!