Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android 6上创建一个便携式热点,连接其他设备并共享文件,如share It。。?_Android - Fatal编程技术网

如何在Android 6上创建一个便携式热点,连接其他设备并共享文件,如share It。。?

如何在Android 6上创建一个便携式热点,连接其他设备并共享文件,如share It。。?,android,Android,我正在使用此代码创建热点,但我不知道如何将其他设备自动连接到此热点 public static boolean setHotSpot(String SSID, String passWord) { Method[] mMethods = wifiManager.getClass().getDeclaredMethods(); for (Method mMethod : mMethods) { if (mMethod.getName().equals("setW

我正在使用此代码创建热点,但我不知道如何将其他设备自动连接到此热点

public static boolean setHotSpot(String SSID, String passWord) {
    Method[] mMethods = wifiManager.getClass().getDeclaredMethods();

    for (Method mMethod : mMethods) {

        if (mMethod.getName().equals("setWifiApEnabled")) {
            WifiConfiguration wifiConfig = new WifiConfiguration();
            if (passWord == "") {
                wifiConfig.SSID = SSID;
                wifiConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
                wifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
                wifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
                wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
            } else {
                wifiConfig.SSID = SSID;
                wifiConfig.preSharedKey = passWord;
                wifiConfig.hiddenSSID = true;
                wifiConfig.status = WifiConfiguration.Status.ENABLED;
                wifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
                wifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
                wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
                wifiConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
                wifiConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
                wifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
                wifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
            }
            try {
                mMethod.invoke(wifiManager, netConfig, true);
                wifiManager.saveConfiguration();
                return true;

            } catch (Exception e) {

            }
        }
        return false;
    }

}

我发现了一个名为ShareThemes的库,它模拟SHAREit的工作方式。该库使用WiFi热点促进设备之间的P2P文件共享和传输。如果接收者没有安装应用程序,它还支持应用程序到web共享。希望它能帮助您了解使用WiFi热点进行文件共享的技术

实施详情:

热点控制器

HC使用Java反射,因为Android上没有用于启用/禁用热点的API。功能包括: 控制器使用SSID创建开放式Wifi热点配置,接收器可截获该配置,以识别SHAREthem发送者,包括端口和发送者名称。 禁用共享模式时恢复用户热点配置 提供已连接WiFi客户端的列表。 共享他们服务器

从NanoHttpd扩展而来的一个小型HTTP服务器,使用IP地址作为主机名将发送方数据提供给接收方,并在默认情况下在用户或系统分配的端口上工作。 共享他们服务

Android服务,管理ShareTheme服务器的生命周期,并通过停止操作处理前台通知。 用户界面(活动)

处理共享/接收操作的Android活动

Receiver-提供UI以列出可下载的文件。向Android下载管理器发布下载请求以开始文件下载。
发件人-显示IP、端口和已连接客户端信息以及每个已连接客户端(接收器)的文件传输状态。

不清楚是否创建了打开的热点或隐藏的热点。它在安卓6上工作吗?请把通常的代码放在catch块中,这样您就知道发生了什么。也把日志语句放进去。是的,我用这个,但问题是文件没有保存在sd卡或内部存储器中。我们需要下载这个文件。那么,如何在不下载的情况下接收文件并保存到sd卡中呢。。?