Android无法覆盖Thread的最终方法

时间:2013-04-26 14:15:48

标签: java android

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

现在Eclipse抛出一个错误,它说“无法覆盖Thread的最终方法”。 我该怎么做才能解决这个问题?

我使用有关here

代码的说明

停止功能的示例代码:

/**
* 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);

}

提前致谢

3 个答案:

答案 0 :(得分:2)

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

Java `final` method: what does it promise?

答案 1 :(得分:0)

也许你应该打电话(停止方法)而不是覆盖?

答案 2 :(得分:0)

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

谢谢大家的帮助