我是android新手。我已经给了所有权限。请告诉我如何实例TelephonyManager
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TelephonyManager telephonyManager= (TelephonyManager) Context.getSystemService(Context.TELEPHONY_SERVICE);
Class clazz = Class.forName(telephonyManager.getClass().getName());
Method method = clazz.getDeclaredMethod("getITelephony");
method.setAccessible(true);
ITelephony telephonyService = (ITelephony) method.invoke(telephonyManager);
telephonyService.endCall();
}
答案 0 :(得分:1)
正如此消息告诉您的那样,byte[] buffer = new byte[2048];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
DataInputStream dis = new DataInputStream(new ByteArrayInputStream(packet.getData(), packet.getOffset(), packet.getLength()));
While(true){
dsocket.receive(packet);
dis = new DataInputStream(new ByteArrayInputStream(packet.getData(), packet.getOffset(), packet.getLength()));
reader = new MAVLinkReader(dis,MAVLinkMessage.MAVPROT_PACKET_START_V10);
mesg = reader.getNextMessage();
while (mesg != null) {...do stuff...}
}
不是静态方法,因此您需要一个getSystemService()
实例来使用该方法。
调用Context
尝试静态访问它。
如果您尝试在活动中执行此操作,则只需拨打Context.getSystemService()
或getSystemService()
,因为活动是一个上下文。
如果您尝试在片段中执行此操作,则可以调用this.getSystemService()
。