我可以枚举范围内的所有wifi网络(使用startScan + SCAN_RESULTS_AVAILABLE_ACTION + getScanResults)并获取其SSID和BSSID值,但我无法弄清楚如何确定每个网络的安全类型.
在我的主要对象中:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
registerReceiver(scanReceiver, intentFilter);
((WifiManager)getSystemService(Context.WIFI_SERVICE)).startScan();
Run Code Online (Sandbox Code Playgroud)
在我的scanReceiver对象中:
public void onReceive(Context c, Intent intent) {
if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(intent.getAction())){
mainObject.scanComplete();
}
}
Run Code Online (Sandbox Code Playgroud)
再次在我的主要对象中:
public void scanComplete()
{
List<ScanResult> networkList = ((WifiManager)getSystemService.(Context.WIFI_SERVICE)).getScanResults();
for (ScanResult network : networkList)
{
<do stuff>
}
}
Run Code Online (Sandbox Code Playgroud)
代码工作,因为scanComplete最终被调用,我可以成功枚举所有附近的无线网络并获得他们的SSID和BSSID,但我无法弄清楚如何确定他们的安全类型.
有没有办法做到这一点?
提前致谢.
我正在将我的 CI 过程从生成 APK 文件切换到 App Bundle。我的管道中的一个阶段将在生成已签名的二进制文件后,转储签名并验证 APK 上的签名,以确保在继续之前正确签名。
> apksigner verify --print-certs my-signed-binary.apk
Signer #1 certificate DN: CN=<NAME>, OU=<GROUP>, O=<COMPANY>, L=<CITY>, ST=<STATE>, C=<COUNTRY>
Signer #1 certificate SHA-256 digest: <DIGEST1>
Signer #1 certificate SHA-1 digest: <DIGEST2>
Signer #1 certificate MD5 digest: <DIGEST3>
Run Code Online (Sandbox Code Playgroud)
一旦生成,是否有等同于在整个 App Bundle 上转储签名的方法?
我尝试使用 jarsigner,但最终输出了数百行。
> jarsigner -verbose -verify -certs my-signed-binary.aab
...
smk 12 Wed Dec 31 16:00:00 PST 1969 base/assets.pb
>>> Signer
X.509, CN=<NAME>, OU=<GROUP>, O=<ORGANIZATION>, L=<CITY>, ST=<STATE>, C=<COUNTRY> (myapp)
[certificate is valid from 5/31/13 1:27 …Run Code Online (Sandbox Code Playgroud)