首页

android wifi并实现文件传输 wifitesthot

java

2020-7-30

测试android wifi并实现文件传输


package com.example.android.wifidirect;

import android.app.IntentService;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.util.Log;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;

/**
 * A service that process each file transfer request i.e Intent by opening a
 * socket connection with the WiFi Direct Group Owner and writing the file
 */
public class FileTransferService extends IntentService {

    private static final int SOCKET_TIMEOUT = 5000;
    public static final String ACTION_SEND_FILE = "com.example.android.wifidirect.SEND_FILE";
    public static final String EXTRAS_FILE_PATH = "file_url";
    public static final String EXTRAS_GROUP_OWNER_ADDRESS = "go_host";
    public static final String EXTRAS_GROUP_OWNER_PORT = "go_port";

    public FileTransferService(String name) {
        super(name);
    }

    public FileTransferService() {
        super("FileTransferService");
    }

    /*
     * (non-Javadoc)
     * @see android.app.IntentService#onHandleIntent(android.content.Intent)
     */
    @Override
    protected void onHandleIntent(Intent intent) {

        Context context = getApplicationContext();
        if (intent.getAction().equals(ACTION_SEND_FILE)) {
            String fileUri = intent.getExtras().getString(EXTRAS_FILE_PATH);
            String host = intent.getExtras().getString(EXTRAS_GROUP_OWNER_ADDRESS);
            Socket socket = new Socket();
            int port = intent.getExtras().getInt(EXTRAS_GROUP_OWNER_PORT);

            try {
                Log.d(WiFiDirectActivity.TAG, "Opening client socket - ");
                socket.bind(null);
                socket.connect((new InetSocketAddress(host, port)), SOCKET_TIMEOUT);

                Log.d(WiFiDirectActivity.TAG, "Client socket - "   socket.isConnected());
                OutputStream stream = socket.getOutputStream();
                ContentResolver cr = context.getContentResolver();
                InputStream is = null;
                try {
                    is = cr.openInputStream(Uri.parse(fileUri));
                } catch (FileNotFoundException e) {
                    Log.d(WiFiDirectActivity.TAG, e.toString());
                }
                DeviceDetailFragment.copyFile(is, stream);
                Log.d(WiFiDirectActivity.TAG, "Client: Data written");
            } catch (IOException e) {
                Log.e(WiFiDirectActivity.TAG, e.getMessage());
            } finally {
                if (socket != null) {
                    if (socket.isConnected()) {
                        try {
                            socket.close();
                        } catch (IOException e) {
                            // Give up
                            e.printStackTrace();
                        }
                    }
                }
            }

        }
    }
}
资源下载此资源下载价格为2D币(VIP免费),请先
资源文件列表
android.wifidirect/.classpath , 364
__MACOSX/android.wifidirect/._.classpath , 212
android.wifidirect/.DS_Store , 6148
__MACOSX/android.wifidirect/._.DS_Store , 120
android.wifidirect/.project , 854
__MACOSX/android.wifidirect/._.project , 212
android.wifidirect/AndroidManifest.xml , 1661
__MACOSX/android.wifidirect/._AndroidManifest.xml , 212
__MACOSX/android.wifidirect/._assets , 212
android.wifidirect/bin/android.wifidirect.apk , 201635
__MACOSX/android.wifidirect/bin/._android.wifidirect.apk , 212
android.wifidirect/bin/AndroidManifest.xml , 1661
__MACOSX/android.wifidirect/bin/._AndroidManifest.xml , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/BuildConfig.class , 369
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._BuildConfig.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$1.class , 2309
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._DeviceDetailFragment$1.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$2.class , 1207
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._DeviceDetailFragment$2.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$3.class , 1284
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._DeviceDetailFragment$3.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$FileServerAsyncTask.class , 3849
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._DeviceDetailFragment$FileServerAsyncTask.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/DeviceDetailFragment.class , 6388
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._DeviceDetailFragment.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/DeviceListFragment$1.class , 915
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._DeviceListFragment$1.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/DeviceListFragment$DeviceActionListener.class , 456
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._DeviceListFragment$DeviceActionListener.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/DeviceListFragment$WiFiPeerListAdapter.class , 2479
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._DeviceListFragment$WiFiPeerListAdapter.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/DeviceListFragment.class , 5022
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._DeviceListFragment.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/FileTransferService.class , 3585
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._FileTransferService.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/R$attr.class , 376
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._R$attr.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/R$color.class , 482
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._R$color.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/R$dimen.class , 481
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._R$dimen.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/R$drawable.class , 630
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._R$drawable.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/R$id.class , 1066
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._R$id.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/R$layout.class , 537
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._R$layout.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/R$menu.class , 432
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._R$menu.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/R$string.class , 948
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._R$string.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/R$style.class , 467
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._R$style.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/R.class , 853
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._R.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$1.class , 1380
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._WiFiDirectActivity$1.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$2.class , 1153
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._WiFiDirectActivity$2.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$3.class , 1547
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._WiFiDirectActivity$3.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$4.class , 1374
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._WiFiDirectActivity$4.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/WiFiDirectActivity.class , 6812
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._WiFiDirectActivity.class , 212
android.wifidirect/bin/classes/com/example/android/wifidirect/WiFiDirectBroadcastReceiver.class , 3633
__MACOSX/android.wifidirect/bin/classes/com/example/android/wifidirect/._WiFiDirectBroadcastReceiver.class , 212
__MACOSX/android.wifidirect/bin/classes/com/example/android/._wifidirect , 212
__MACOSX/android.wifidirect/bin/classes/com/example/._android , 212
__MACOSX/android.wifidirect/bin/classes/com/._example , 212
__MACOSX/android.wifidirect/bin/classes/._com , 212
__MACOSX/android.wifidirect/bin/._classes , 212
android.wifidirect/bin/classes.dex , 474620
__MACOSX/android.wifidirect/bin/._classes.dex , 212
android.wifidirect/bin/dexedLibs/android-support-v4-22e086be2e0f6de9860297ddfa4f7d1d.jar , 151838
__MACOSX/android.wifidirect/bin/dexedLibs/._android-support-v4-22e086be2e0f6de9860297ddfa4f7d1d.jar , 212
__MACOSX/android.wifidirect/bin/._dexedLibs , 212
android.wifidirect/bin/res/drawable-hdpi/ic_action_discover.png , 983
__MACOSX/android.wifidirect/bin/res/drawable-hdpi/._ic_action_discover.png , 212
android.wifidirect/bin/res/drawable-hdpi/ic_action_on_off.png , 1005
__MACOSX/android.wifidirect/bin/res/drawable-hdpi/._ic_action_on_off.png , 212
android.wifidirect/bin/res/drawable-hdpi/ic_launcher.png , 5101
__MACOSX/android.wifidirect/bin/res/drawable-hdpi/._ic_launcher.png , 212
android.wifidirect/bin/res/drawable-hdpi/machine.png , 1161
__MACOSX/android.wifidirect/bin/res/drawable-hdpi/._machine.png , 212
__MACOSX/android.wifidirect/bin/res/._drawable-hdpi , 212
android.wifidirect/bin/res/drawable-mdpi/ic_launcher.png , 5057
__MACOSX/android.wifidirect/bin/res/drawable-mdpi/._ic_launcher.png , 212
__MACOSX/android.wifidirect/bin/res/._drawable-mdpi , 212
android.wifidirect/bin/res/drawable-xhdpi/ic_launcher.png , 14068
__MACOSX/android.wifidirect/bin/res/drawable-xhdpi/._ic_launcher.png , 212
__MACOSX/android.wifidirect/bin/res/._drawable-xhdpi , 212
__MACOSX/android.wifidirect/bin/._res , 212
android.wifidirect/bin/resources.ap_ , 38096
__MACOSX/android.wifidirect/bin/._resources.ap_ , 212
__MACOSX/android.wifidirect/._bin , 212
android.wifidirect/gen/com/example/android/wifidirect/BuildConfig.java , 172
__MACOSX/android.wifidirect/gen/com/example/android/wifidirect/._BuildConfig.java , 212
android.wifidirect/gen/com/example/android/wifidirect/R.java , 4605
__MACOSX/android.wifidirect/gen/com/example/android/wifidirect/._R.java , 212
__MACOSX/android.wifidirect/gen/com/example/android/._wifidirect , 212
__MACOSX/android.wifidirect/gen/com/example/._android , 212
__MACOSX/android.wifidirect/gen/com/._example , 212
__MACOSX/android.wifidirect/gen/._com , 212
__MACOSX/android.wifidirect/._gen , 212
android.wifidirect/libs/android-support-v4.jar , 393154
__MACOSX/android.wifidirect/libs/._android-support-v4.jar , 212
__MACOSX/android.wifidirect/._libs , 212
android.wifidirect/proguard-project.txt , 781
__MACOSX/android.wifidirect/._proguard-project.txt , 212
android.wifidirect/project.properties , 563
__MACOSX/android.wifidirect/._project.properties , 212
android.wifidirect/res/drawable-hdpi/details_view.xml , 445
__MACOSX/android.wifidirect/res/drawable-hdpi/._details_view.xml , 212
android.wifidirect/res/drawable-hdpi/ic_action_discover.png , 1425
__MACOSX/android.wifidirect/res/drawable-hdpi/._ic_action_discover.png , 212
android.wifidirect/res/drawable-hdpi/ic_action_on_off.png , 1422
__MACOSX/android.wifidirect/res/drawable-hdpi/._ic_action_on_off.png , 212
android.wifidirect/res/drawable-hdpi/ic_launcher.png , 5919
__MACOSX/android.wifidirect/res/drawable-hdpi/._ic_launcher.png , 212
android.wifidirect/res/drawable-hdpi/machine.png , 3878
__MACOSX/android.wifidirect/res/drawable-hdpi/._machine.png , 212
android.wifidirect/res/drawable-hdpi/section_header.xml , 431
__MACOSX/android.wifidirect/res/drawable-hdpi/._section_header.xml , 212
__MACOSX/android.wifidirect/res/._drawable-hdpi , 212
__MACOSX/android.wifidirect/res/._drawable-ldpi , 212
android.wifidirect/res/drawable-mdpi/ic_launcher.png , 5237
__MACOSX/android.wifidirect/res/drawable-mdpi/._ic_launcher.png , 212
__MACOSX/android.wifidirect/res/._drawable-mdpi , 212
android.wifidirect/res/drawable-xhdpi/ic_launcher.png , 14383
__MACOSX/android.wifidirect/res/drawable-xhdpi/._ic_launcher.png , 212
__MACOSX/android.wifidirect/res/._drawable-xhdpi , 212
android.wifidirect/res/layout/device_detail.xml , 2789
__MACOSX/android.wifidirect/res/layout/._device_detail.xml , 212
android.wifidirect/res/layout/device_list.xml , 2893
__MACOSX/android.wifidirect/res/layout/._device_list.xml , 212
android.wifidirect/res/layout/main.xml , 1103
__MACOSX/android.wifidirect/res/layout/._main.xml , 212
android.wifidirect/res/layout/row_devices.xml , 1280
__MACOSX/android.wifidirect/res/layout/._row_devices.xml , 212
__MACOSX/android.wifidirect/res/._layout , 212
android.wifidirect/res/menu/action_items.xml , 547
__MACOSX/android.wifidirect/res/menu/._action_items.xml , 212
__MACOSX/android.wifidirect/res/._menu , 212
android.wifidirect/res/values/color.xml , 176
__MACOSX/android.wifidirect/res/values/._color.xml , 212
android.wifidirect/res/values/dimens.xml , 169
__MACOSX/android.wifidirect/res/values/._dimens.xml , 212
android.wifidirect/res/values/strings.xml , 1027
__MACOSX/android.wifidirect/res/values/._strings.xml , 212
android.wifidirect/res/values/styles.xml , 695
最多只能显示150条信息!
没有账号? 忘记密码?

社交账号快速登录