0

我是 Android 新手,我使用 eclipse。我正在我的Android手机上制作一个带有蓝牙的应用程序,版本是2.3。我使用从 SDK 管理器下载的示例并进行更改,因此它适用于我。在示例文件“BluetoothServiceChat”中,他们调用函数 public synchronized void stop()。

现在 Eclipse 抛出一个错误,并显示“无法覆盖 Thread 的最终方法”。我能做些什么来解决这个问题?

我使用这里关于代码的解释

停止函数的示例代码:

/**
* Stop all threads
*/
public synchronized void stop() {
  if (D) Log.d(TAG, "stop");

  if (mConnectThread != null) {
      mConnectThread.cancel();
      mConnectThread = null;
  }

  if (mConnectedThread != null) {
      mConnectedThread.cancel();
      mConnectedThread = null;
  }

  if (mSecureAcceptThread != null) {
      mSecureAcceptThread.cancel();
      mSecureAcceptThread = null;
  }

  if (mInsecureAcceptThread != null) {
      mInsecureAcceptThread.cancel();
      mInsecureAcceptThread = null;
  }
  setState(STATE_NONE);

}

提前致谢

4

3 回答 3

2

你不能。最终方法不能被设计覆盖。平台/框架开发人员不希望应用程序开发人员为抽象和安全问题重写某些方法。这个问题和你的类似:

Java `final` 方法:它承诺什么?

于 2013-04-26T14:16:25.830 回答
0

也许您应该调用它(停止方法)而不是覆盖?

于 2013-04-26T14:21:21.653 回答
0

我在我写的另一个线程中找到了我的问题的答案: android-the-return-type-is-incompatible-with-thread-getstate

谢谢大家的帮助

于 2013-04-28T07:56:47.387 回答