This app connects Bluetooth printer from 2 activities . First activity
works correctly. BT printer reference send to second activity by below
mentioned code.
(intent.putExtra("device",mmDevice);)
Received by second activity as
device = getIntent().getExtras().getParcelable("device");
This one works perfectly in Debug mode but not in Normal run mode.
Error at : mmSocket.connect() Activity 2;
java.io.IOException: [JSR82] connect: Connection is not created (failed or
aborted).
public class MainActivity extends Activity {
Button button1,button2;
OutputStream mOutputStream;
BluetoothAdapter mBluetoothAdapter;
BluetoothSocket mmSocket;
BluetoothDevice mmDevice;
OutputStream mmOutputStream;
InputStream mmInputStream;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button)findViewById(R.id.button1);
button2 = (Button)findViewById(R.id.button2);
mOutputStream = findBT();
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
sendData("Activity 1",mOutputStream);
}
catch(Exception ex){
ex.printStackTrace();
}
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Intent intent = new
Intent(getApplicationContext(),MainActivity22Activity.class);
intent.putExtra("device",mmDevice);
startActivity(intent);
}
catch(Exception ex){
ex.printStackTrace();
}
}
});
}
protected void onPause() {
super.onPause();
try {
mmOutputStream.close();
mmSocket.close();
}
catch(Exception ex){
ex.printStackTrace();
}
}
void sendData(String msg,OutputStream outputStream) throws IOException {
try {
msg += "\n";
outputStream.write(msg.getBytes());
} catch (NullPointerException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
public OutputStream findBT() {
try {
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null) {
Log.e("service", "No bluetooth adapter available");
}
if (!mBluetoothAdapter.isEnabled()) {
Intent enableBluetooth = new Intent(
BluetoothAdapter.ACTION_REQUEST_ENABLE);
}
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter
.getBondedDevices();
if (pairedDevices.size() > 0) {
for (BluetoothDevice device : pairedDevices) {
// BMV2 is the name of the bluetooth printer device
if (device.getName().equals("BMV2")) {
mmDevice = device;
break;
}
}
}
Log.e("service ",mmDevice.toString());
openBT();
} catch (NullPointerException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return mmOutputStream;
}
// Tries to open a connection to the bluetooth printer device
void openBT() throws IOException {
Log.e("service","Open BT");
try {
// Standard SerialPortService ID
UUID uuid =
UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid);
mmSocket.connect();
mmOutputStream = mmSocket.getOutputStream();
mmInputStream = mmSocket.getInputStream();
Log.e("BT","Bluetooth Opened");
} catch (NullPointerException e) {
Log.e("Null pont err","error");
e.printStackTrace();
} catch (Exception e) {
Log.e("service","socket error");
e.printStackTrace();
}
}
}
public class MainActivity22Activity extends Activity {
Button button ;
OutputStream mOutputStream;
BluetoothAdapter mBluetoothAdapter;
BluetoothSocket mmSocket;
BluetoothDevice mmDevice;
OutputStream mmOutputStream;
InputStream mmInputStream;
BluetoothDevice device;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity22);
button = (Button)findViewById(R.id.button);
device = getIntent().getExtras().getParcelable("device");
try {
openBT(device);
}
catch(Exception ex){
ex.printStackTrace();
}
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
sendData("activity 2",mmOutputStream);
}
catch(Exception ex){
ex.printStackTrace();
}
}
});
}
@Override
protected void onResume() {
super.onResume();
}
protected void onPause() {
super.onPause();
}
void openBT(BluetoothDevice device) throws IOException {
Log.e("service","Open BT");
try {
// Standard SerialPortService ID
UUID uuid =
UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
mmSocket = device.createRfcommSocketToServiceRecord(uuid);
mmSocket.connect();
mmOutputStream = mmSocket.getOutputStream();
mmInputStream = mmSocket.getInputStream();
Log.e("BT","Bluetooth Opened");
} catch (NullPointerException e) {
Log.e("Null pont err","error");
e.printStackTrace();
} catch (Exception e) {
Log.e("service","socket error");
e.printStackTrace();
}
}
void sendData(String msg,OutputStream outputStream) throws IOException {
try {
Log.e("service","Printing going on");
msg += "\n";
Log.e("service",msg);
outputStream.write(msg.getBytes());
} catch (NullPointerException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Enter code here...
--
You received this message because you are subscribed to the Google Groups
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit
https://groups.google.com/d/msgid/android-developers/ac47e369-94a7-43b8-8a1c-5c390e6d2bc7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.