package org.deviceconnect.android.deviceplugin.heartrate.ble.activity;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.ResultReceiver;
public class BleEnableActivity extends Activity {
private static final String EXTRA_CALLBACK = "EXTRA_CALLBACK";
private static final int REQUEST_CODE = 123456789;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
test(resultCode, data);
}
finish();
}
private void test(final int resultCode, final Intent data) {
Intent callingIntent = getIntent();
if (callingIntent == null) {
return;
}
Bundle extras = callingIntent.getExtras();
if (extras == null) {
return;
}
ResultReceiver callback = extras.getParcelable(EXTRA_CALLBACK);
if (callback == null) {
return;
}
callback.send(resultCode, null);
}
public static void requestEnableBluetooth(final Context context, final ResultReceiver resultReceiver) {
Intent callIntent = new Intent(context, BleEnableActivity.class);
callIntent.putExtra(EXTRA_CALLBACK, resultReceiver);
callIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
context.startActivity(callIntent);
}
}