/* BluetoothManageActivity.java Copyright (c) 2014 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.deviceplugin.host.activity; import android.bluetooth.BluetoothAdapter; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import org.deviceconnect.android.message.MessageUtils; import org.deviceconnect.android.profile.ConnectionProfile; import org.deviceconnect.message.DConnectMessage; /** * Bluetooth 管理アクティビティ. * * <p> * Bluetooth接続をONにするダイアログを表示するシステムActivityを表示するActivityである。 HostDeviceProvider * から呼び出されるActivityのため、UIレイヤーから呼び出してはならない。 * @author NTT DOCOMO, INC. */ public class BluetoothManageActivity extends FragmentActivity { /** * リクエストパラメータ. */ private Bundle mRequestParam; @Override protected void onStart() { super.onStart(); mRequestParam = new Bundle(getIntent().getExtras()); if (MessageUtils.getAttribute(getIntent()).equals(ConnectionProfile.ATTRIBUTE_BLUETOOTH)) { Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableIntent, 0); } else if (MessageUtils.getAttribute(getIntent()).equals(ConnectionProfile.ATTRIBUTE_BLE)) { Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableIntent, 0); } else { // finish if attribute is unknown finish(); } } @Override protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { super.onActivityResult(requestCode, resultCode, data); // create response data Bundle response = new Bundle(); if (resultCode == RESULT_OK) { response.putInt(DConnectMessage.EXTRA_RESULT, DConnectMessage.RESULT_OK); } else { response.putInt(DConnectMessage.EXTRA_RESULT, DConnectMessage.RESULT_ERROR); } Intent intent = MessageUtils.createResponseIntent(mRequestParam, response); if (intent != null) { sendBroadcast(intent); } finish(); } }