Android: как включить Bluetooth через класс приложений?
Я создаю приложение для Android, для которого требуется соединение Bluetooth (включая BluetoothSocket), чтобы оно сохранялось в течение всего срока службы приложения. Итак, я пытаюсь установить соединение Bluetooth через класс приложения. Но я столкнулся с проблемой на самом первом этапе.
Здесь я пытаюсь включить Bluetooth, запрашивая разрешение пользователя. Это код, который я пробовал:
import android.app.Application;
import android.bluetooth.BluetoothAdapter;
import android.content.Intent;
import android.widget.Toast;
public class BluetoothApplication extends Application {
BluetoothAdapter bluetoothAdapter;
@Override
public void onCreate() {
super.onCreate();
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null) {
Toast.makeText(getApplicationContext(), "Device doesn't Support Bluetooth", Toast.LENGTH_SHORT).show();
} else {
if (!bluetoothAdapter.isEnabled()) {
Intent enableAdapter = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableAdapter, 0);
}
}
}
}
Но startActivityForResult
Метод отображает сообщение об ошибке Cannot resolve method startActivityForResult(android.content.Intent, int)
Есть ли выход из этого?
Или я должен явно включить Bluetooth, не спрашивая разрешения пользователя? (Тем не менее, это ситуация, которой я хотел бы избежать)
Спасибо
1 ответ
Замените свой extends Application
с extends Activity
Класс android.app.Application является дополнительным средством для расширения и хранения глобального состояния приложения. Есть и другие способы сделать это, поэтому большинство приложений не настраивают этот класс.
Тем не менее, действия определяют все основные этапы вашего приложения. Было бы невозможно создать приложение без деятельности. У вас будет основной класс Activity, и он действительно будет определен как 'extends Activity'.
ВЫШЕ ЗАЯВЛЕНИЯ БЫЛИ ПОЛУЧЕНЫ ИЗ ССЫЛКИ
Для получения дополнительной информации, в чем разница между расширением приложения и расширением активности в Android?