下面一行在我的code将*的.apk文件到我的包目录。
最后文件f =新的文件(Environment.getExternalStorageDirectory()+/
+ context.getPackageName()+/ wifip2pshared-+ System.currentTimeMillis的()
+的apk);
如何修改一样的,所以它会下载每次/转移到Android手机的下载目录。我相信,下载目录是每个android手机默认的目录。
目前它被转移到包的目录,例如说com.example.android.wifidirect
编辑我做了基于Manish的解决方案:
@覆盖
保护字符串doInBackground(空... PARAMS){
尝试 {
ServerSocket的ServerSocket的=新的ServerSocket(8988);
Log.d(WiFiDirectActivity.TAG,服务器:插座开);
客户端的Socket的ServerSocket.accept =();
Log.d(WiFiDirectActivity.TAG,服务器:连接完成的);
字符串extStorageDirectory =环境
.getExternalStorageDirectory()的toString()。
文件夹=新的文件(extStorageDirectory,下载);
档案文件=新的文件(文件夹,wifip2pshared-+ System.currentTimeMillis的()+.apk文件);
尝试 {
file.createNewFile();
}赶上(IOException异常E1){
e1.printStackTrace();
}
Log.d(WiFiDirectActivity.TAG,服务器:复制文件+ file.toString());
InputStream中的InputStream = client.getInputStream();
的CopyFile(InputStream的,新的FileOutputStream(文件));
serverSocket.close();
返回file.getAbsolutePath();
}赶上(IOException异常E){
Log.e(WiFiDirectActivity.TAG,e.getMessage());
返回null;
}
}
解决方案
请试试这个code -
档案文件=新的文件(Environment.getExternalStorageDirectory()
.getAbsolutePath()+/下载/ wifip2pshared-+ System.currentTimeMillis的()
+的apk);
编辑:您可以试试这个code也,希望这将有助于为创建不同的名称每次
字符串extStorageDirectory =环境
.getExternalStorageDirectory()的toString()。
文件夹=新的文件(extStorageDirectory,下载);
档案文件=新的文件(文件夹中,wifip2pshared-+ System.currentTimeMillis的()+.apk文件);
尝试 {
file.createNewFile();
}赶上(IOException异常E1){
e1.printStackTrace();
}
修改在您的具体需求。
保护字符串doInBackground(空... PARAMS){
尝试 {
ServerSocket的ServerSocket的=新的ServerSocket(8988);
Log.d(WiFiDirectActivity.TAG,服务器:插座开);
客户端的Socket的ServerSocket.accept =();
Log.d(WiFiDirectActivity.TAG,服务器:连接完成的);
。字符串extStorageDirectory = Environment.getExternalStorageDirectory()的toString();
文件夹=新的文件(extStorageDirectory,下载);
档案文件=新的文件(文件夹,wifixyz-+ System.currentTimeMillis的()+APK);
尝试 {
file.createNewFile();
}赶上(IOException异常E1){
e1.printStackTrace();
}
Log.d(WiFiDirectActivity.TAG,服务器:复制文件+ file.toString());
InputStream中的InputStream = client.getInputStream();
的CopyFile(InputStream的,新的FileOutputStream(文件));
serverSocket.close();
返回file.getAbsolutePath();
}赶上(IOException异常E){
Log.e(WiFiDirectActivity.TAG,e.getMessage());
返回null;
}
}
谢谢!
The below line in my code transfers *.apk file to my package directory.
final File f = new File(Environment.getExternalStorageDirectory() + "/"
+ context.getPackageName() + "/wifip2pshared-" + System.currentTimeMillis()
+ ".apk");
How to modify the same so that each time it gets downloaded/transferred to downloads directory of android phone. I believe Downloads directory is a default directory in each android phone.
Currently it gets transferred to package directory say for example "com.example.android.wifidirect"
EDIT I made based on Manish's Solution:
@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;
}
}
解决方案
Please try this code-
File file = new File(Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/Download/wifip2pshared-" + System.currentTimeMillis()
+ ".apk");
EDIT: You can try this code also, hope it will help for create different name every time.
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();
}
EDIT On your specific demand..
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;
}
}
Thanks!
上一篇:如何获得的所有环节,从服务器avaliable在一些端口?端口、如何获得、环节、服务器
下一篇:有任何 WinRT iCommand/CommandBinding 实施示例吗?示例、有任何、iCommand、WinRT