Java 错误:构造函数CellSignalStrengthGsm()不可见

Java 错误:构造函数CellSignalStrengthGsm()不可见,java,android,Java,Android,当我尝试此代码时: CellSignalStrengthGsm Abc = new CellSignalStrengthGsm(); 我在eclipse中遇到以下错误: "The constructor CellSignalStrengthGsm() is not visible". 完整的源代码是 在源文件中,我注意到以下内容: """"""""""""""""""""""""""""""""""""""""""" /** * Empty constructor *

当我尝试此代码时:

CellSignalStrengthGsm Abc = new CellSignalStrengthGsm();
我在eclipse中遇到以下错误:

"The constructor CellSignalStrengthGsm() is not visible".
完整的源代码是

在源文件中,我注意到以下内容:

"""""""""""""""""""""""""""""""""""""""""""
/**
     * Empty constructor
     *
     * @hide
     */
    public CellSignalStrengthGsm() {
        setDefaultValues();
    }

    /**
     * Constructor
     *
     * @hide

""""""""""""""""""""""""""""""""""""""""""
现在我的问题是,上面的评论是什么意思 如何获得CellSignalStrengthGsm的目标


提前感谢您的帮助,我是android和java编程新手,如果我问了一些基本问题,请原谅。

@hide是一个注释。它在编译时或运行时修改代码。在本例中,这是一个编译时更改,它告诉编译器不要让任何人调用它,即使它是公共的。当您必须将函数公开以适应接口,但不希望任何人实际调用它时,通常会使用这种方法


你为什么要做这些东西?通常你通过了其中一个,没有理由构造一个(可能在测试之外)-你没有信息来制作一个精确的。

我正在尝试在该类中使用getDbm()和getasurevel()方法。由于构造函数是隐藏的,我是否有可能使用该类?我在谷歌上搜索了很多问题,现在知道问题是源文件中的@hide标记。有希望吗?你需要通过一个实例。如果你只是构建它,即使你可以,它也不会神奇地拥有正确的值。使用TelephonyManager获取它。非常感谢Gabe Sechan的回复,但是TelephonyManager没有这些方法。我在anroid.telephony下尝试了很多类,它们都有与信号强度相关的方法(即SignalStrength、CellSignalStrength),但每次我都遇到同样的障碍。我能做什么?如何创建和传递它,非常感谢您的支持对不起,我已经有一段时间没有这么做了,我忘了一步。您需要通过TelephonyManager.listen()添加PhoneStateListener。然后,当信号强度发生变化时,它将调用onSignalStrengthChanged函数,并向其传递一个SignalStrength对象。“public static final Creator Creator”这一行的意思是什么。资料来源:“”