簡體   English   中英

如何以編程方式檢測Android中的移動熱點功能可用性?

[英]How to detect mobile hotspot feature availability in Android programmatically?

我希望標題本身說明我的問題是什么......

例如,我們可以使用PackageManager檢查Wifi的可用性

packageManager.hasSystemFeature(PackageManager.FEATURE_WIFI);

同樣有沒有辦法以編程方式檢測Android中的移動熱點功能可用性?

謝謝。

我通過谷歌文檔,發現如果設備支持wifi P2P,那么顯然它支持wifi熱點

通過設備檢查Wi-Fi Direct / wifi P2P,然后檢查這種方式

PackageManager m = getPackageManager();
     if (!m.hasSystemFeature(PackageManager.FEATURE_WIFI_DIRECT)) {
            // This device does support wifi P2P
        }

但谷歌表示最好以這種方式檢查你的廣播接收器本身的支持

@Override
public void onReceive(Context context, Intent intent) {
    ...
    String action = intent.getAction();
    if (WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action)) {
        int state = intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE, -1);
        if (state == WifiP2pManager.WIFI_P2P_STATE_ENABLED) {
            // Wifi P2P is enabled
        } else {
            // Wi-Fi P2P is not enabled
        }
    }
    ...
}

檢查谷歌文檔相同

這可能是解決方案的第一步。

請參閱: Android Wifi熱點管理器類

您可以通過調用此方法來檢查: ConnectivityManager.isActiveNetworkMetered()

這將返回Wifi Hotspot中的當前活動連接。

我覺得它對你有點幫助。

您可以通過調用ConnectivityManager.isActiveNetworkMetered()來訪問此信息。

這將返回活動連接是否為熱點(如數據使用 - >移動熱點中所定義)。

這是一個類似問題的好答案! 如何檢測網絡是否(配置為)Android上的移動熱點?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM