OK thank's.
I have this method.
public boolean obexPut(String serverURL, String address) {
try {
System.out.println("Connecting ...");
c =
Connector.open(serverURL);
clientSession = (ClientSession) c;
RemoteDevice r = new RemoteDeviceExt(address);
hsConnectReply =
clientSession.connect(clientSession.createHeaderSet());
if (hsConnectReply.getResponseCode() != ResponseCodes.OBEX_HTTP_OK)
{
System.out.println("Connect Error " +
hsConnectReply.getResponseCode());
}
hsOperation = clientSession.createHeaderSet();
hsOperation.setHeader(HeaderSet.NAME, fileName);
String type = "jpg";
if (type != null) {
hsOperation.setHeader(HeaderSet.TYPE, type);
}
hsOperation.setHeader(HeaderSet.LENGTH, new Long(data.length));
Operation po =
clientSession.put(hsOperation);
OutputStream os = po.openOutputStream();
ByteArrayInputStream is = new ByteArrayInputStream(data);
byte[] buffer = new byte[0x400];
int i = is.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i =
is.read(buffer);
}
os.flush();
os.close();
po.close();
HeaderSet hsDisconnect = clientSession.disconnect(hsOperation);
if (hsDisconnect.getResponseCode() == ResponseCodes.OBEX_HTTP_OK) {
progress.transferComplete("Success");
return true;
} else {
progress.transferComplete("Code " +
hsDisconnect.getResponseCode());
return false;
}
} catch (IOException e) {
Logger.error(e);
System.out.println("Communication error " +
e.getMessage());
return false;
} catch (Throwable e) {
Logger.error(e);
System.out.println("Error " + e.getMessage());
return false;
} finally {
if (clientSession != null) {
try {
clientSession.close();
} catch (IOException ignore) {
}
}
clientSession = null;
}
}
I am using Thread in the method main.
private void bluetoothDiscovery() {
Thread t = new Thread() {
public void run() {
while (true) {
//other methods
if(time > limitTime){
clientSession.close();
}
}
}
};
t.start();
}
How do I close the connection when the application is waiting for
confimação user?
> 2011/8/15 Orlando José <
orlando...@gmail.com>