Call() 不是 public in android.telecom.Call,无法从外部包访问
Call() is not public in android.telecom.Call, Cannot be accessed from outside package
我在 SDK23 中有下一个 class 应该支持 playDtmfTone() :
import android.telecom.Call;
public class myDtmf {
public void myPlayDtmfTone() {
Call mytone = new Call(); // error here for Call()
mytone.playDtmfTone('0');
}
}
'Call mytone = new Call()' 行中的 Call() 显示错误:
Call() 不在 android.telecom.Call 中 public,无法从外部包访问。
如何使 Call() public 或使其可访问?
非常感谢。
在这种特定情况下,指的是 Javadoc of Call
:
[Call] Represents an ongoing phone call that the in-call app should present to the user.
因此 "create" 它的实例实际上没有意义,因为这需要您实际创建对某个端点的实际 phone 调用。
一般来说,如果无法在包外访问某个方法,则您不应访问它 - 它不是 class 开发人员提供的 API 的一部分。有一些方法可以访问它 - 具体来说,反射 - 但这是 hacky 并且它不太可能是你打算使用 class.
的方式
class 可能会为您提供一些其他方法来创建实例,例如静态工厂方法(或外部工厂)——但是,由于上述原因,这在这种情况也是。
我在 SDK23 中有下一个 class 应该支持 playDtmfTone() :
import android.telecom.Call;
public class myDtmf {
public void myPlayDtmfTone() {
Call mytone = new Call(); // error here for Call()
mytone.playDtmfTone('0');
}
}
'Call mytone = new Call()' 行中的 Call() 显示错误:
Call() 不在 android.telecom.Call 中 public,无法从外部包访问。
如何使 Call() public 或使其可访问?
非常感谢。
在这种特定情况下,指的是 Javadoc of Call
:
[Call] Represents an ongoing phone call that the in-call app should present to the user.
因此 "create" 它的实例实际上没有意义,因为这需要您实际创建对某个端点的实际 phone 调用。
一般来说,如果无法在包外访问某个方法,则您不应访问它 - 它不是 class 开发人员提供的 API 的一部分。有一些方法可以访问它 - 具体来说,反射 - 但这是 hacky 并且它不太可能是你打算使用 class.
的方式class 可能会为您提供一些其他方法来创建实例,例如静态工厂方法(或外部工厂)——但是,由于上述原因,这在这种情况也是。