有一个名为CellSignalStrength的类,没有默认的构造函数。

为了能够使用SignalStrength,我必须创建一个提取它的类,但是我不能这样做,因为当我尝试这样做时,它会打印出错误:


  没有可用于SignalStrength的默认构造函数。


java - 没有构造函数时如何扩展CellSignalStrength类?-LMLPHP

另外,还有另一个名为CellSignalStrengthGsm的类(相同的问题),但是该类扩展了SignalStrength类,但是如何?



我对此进行了一些研究,但我什么也没找到,但是this guide仅向我提供了相邻小区站点的信号强度,它们都不是向我提供信号的站点。该解决方案没有提供实际的信号强度。

为什么Android文档中没有至少一个有关如何使用该类的示例?

我真的需要帮助,我被困了:/

最佳答案

我能想到为什么不能扩展CellSignalStrength类的唯一原因是因为其构造函数是protected CellSignalStrength()。意味着同一包中只有其他类可以扩展它。

Android开发人员可能有充分的理由这样做。我的建议是重新考虑您要做什么,并找出另一种解决方案。也许使用子类CellSignalStrength的一个类的实例:

Note: These classes are all final, so don't try to extend them.

CellSignalStrengthCdma
CellSignalStrengthGsm
CellSignalStrengthLte
CellSignalStrengthWcdma

10-05 18:28