首页 > 解决方案 > 如何在没有 root [su] 访问权限的情况下读取保存的 wifi 密码

问题描述

我需要为其中一个应用程序读取保存的wifi 密码。我知道这不可能直接由于安全问题,但是通过root android移动设备,这可能是因为。[我不想要这个解决方案]。

但允许Google Home 安卓应用程序读取保存的 WiFi 密码。怎么可能?

我读了几篇关于 SO 的帖子,我知道只有系统应用程序才能访问它。

WifiManager.java 上,我们有一个方法来处理它getPrivilegedConfiguredNetwork(),但是这个方法是隐藏的,只有系统应用程序可以访问它。

/** @hide */
@SystemApi
@RequiresPermission(allOf = {ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, READ_WIFI_CREDENTIAL})
public List<WifiConfiguration> getPrivilegedConfiguredNetworks() {
    try {
        ParceledListSlice<WifiConfiguration> parceledList =
                mService.getPrivilegedConfiguredNetworks(mContext.getOpPackageName());
        if (parceledList == null) {
            return Collections.emptyList();
        }
        return parceledList.getList();
    } catch (RemoteException e) {
        throw e.rethrowFromSystemServer();
    }
}

这种方法可以帮助读取 Wifi 密码吗?

标签: androidandroid-wifigoogle-homewifimanager

解决方案


推荐阅读