簡體   English   中英

如何使用Wifi Direct在兩部Android手機之間傳輸文件到Android手機的下載目錄而不是程序包目錄

[英]How to Transfer files between two Android phones using Wifi Direct to Download directory of Android phone and not to Package directory

我代碼中的以下行將* .apk文件傳輸到我的包目錄中。

 final File f = new File(Environment.getExternalStorageDirectory() + "/"
                        + context.getPackageName() + "/wifip2pshared-" + System.currentTimeMillis()
                        + ".apk");

如何進行修改,以便每次將其下載/傳輸到android手機的下載目錄中。 我相信Downloads目錄是每個Android手機中的默認目錄。

目前,它已轉移到軟件包目錄,例如“ com.example.android.wifidirect”

我根據Manish解決方案進行的編輯:

@Override
        protected String doInBackground(Void... params) {
            try {
                ServerSocket serverSocket = new ServerSocket(8988);
                Log.d(WiFiDirectActivity.TAG, "Server: Socket opened");
                Socket client = serverSocket.accept();
                Log.d(WiFiDirectActivity.TAG, "Server: connection done");
                String extStorageDirectory = Environment
                        .getExternalStorageDirectory().toString();
                File folder = new File(extStorageDirectory, "Download");


File file = new File(folder,"wifip2pshared-" + System.currentTimeMillis()+ ".apk");
                try {
                    file.createNewFile();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }


                Log.d(WiFiDirectActivity.TAG, "server: copying files " + file.toString());
                InputStream inputstream = client.getInputStream();
                copyFile(inputstream, new FileOutputStream(file));
                serverSocket.close();
                return file.getAbsolutePath();
            } catch (IOException e) {
                Log.e(WiFiDirectActivity.TAG, e.getMessage());
                return null;
            }
        }

請嘗試此代碼-

 File file = new File(Environment.getExternalStorageDirectory()
                .getAbsolutePath() + "/Download/wifip2pshared-" + System.currentTimeMillis()
                + ".apk");

編輯:您也可以嘗試使用此代碼,希望它每次都有助於創建不同的名稱。

String extStorageDirectory = Environment
                    .getExternalStorageDirectory().toString();
            File folder = new File(extStorageDirectory, "Download");
            File file = new File(folder, wifip2pshared-" + System.currentTimeMillis()+ ".apk");
            try {
                file.createNewFile();
            } catch (IOException e1) {
                e1.printStackTrace();
            }

編輯根據您的特定要求。

protected String doInBackground(Void... params) {
        try {
            ServerSocket serverSocket = new ServerSocket(8988);
            Log.d(WiFiDirectActivity.TAG, "Server: Socket opened");
            Socket client = serverSocket.accept();
            Log.d(WiFiDirectActivity.TAG, "Server: connection done");
            String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
            File folder = new File(extStorageDirectory, "Download");
            File file = new File(folder,"wifixyz-" + System.currentTimeMillis()+".apk");
            try {
                file.createNewFile();
            } catch (IOException e1) {
                e1.printStackTrace();
            }

            Log.d(WiFiDirectActivity.TAG, "server: copying files " + file.toString());
            InputStream inputstream = client.getInputStream();
            copyFile(inputstream, new FileOutputStream(file));
            serverSocket.close();
            return file.getAbsolutePath();
        } catch (IOException e) {
            Log.e(WiFiDirectActivity.TAG, e.getMessage());
            return null;
        }
    }

謝謝!

暫無
暫無

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

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