0

我正在构建一个需要蓝牙连接(包括蓝牙套接字)在应用程序的整个生命周期内持续存在的 Android 应用程序。所以,我正在尝试通过 Application 类建立蓝牙连接。但是我在第一步就遇到了问题。

在这里,我试图通过询问用户的许可来启用蓝牙。这是我尝试过的代码:

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)

有没有办法解决这个问题?

或者我是否必须在未经用户许可的情况下明确启用蓝牙?(但是,这是我想避免的情况)

谢谢

4

1 回答 1

1

替换你extends Applicationextends Activity

android.app.Application 类是用于扩展和存储应用程序全局状态的可选工具。还有其他方法可以做到这一点,因此大多数应用程序不会自定义此类。

然而,活动定义了应用程序的每个主要阶段。没有活动就不可能构建应用程序。您将拥有一个主要的 Activity 类,这确实是用“扩展 Activity”定义的。

以上陈述取自以下链接

有关更多信息, Android 中的 Extends Application 和 Extends Activity 有什么区别?

于 2018-04-02T15:15:08.867 回答