现在的位置: 首页 > 综合 > 正文

编辑文章 – 博客频道 – CSDN.NET

2018年05月26日 ⁄ 综合 ⁄ 共 1280字 ⁄ 字号 评论关闭

public boolean isCallConnected() {
boolean isAlive = false;

try {
Class connectionClass = Connection.class;
connectionClass = Class
.forName("com.android.internal.telephony.Connection");
Method isAliveMethod = connectionClass.getDeclaredMethod("isAlive",
(Class[]) null);

/*
* Method isAliveMethod =
* connectionClass.getDeclaredMethod("isRinging", (Class[]) null);
*/

isAliveMethod.setAccessible(true);

Connection connection = (Connection) connectionClass.newInstance();

try {
isAlive = (Boolean) isAliveMethod.invoke(connection,
(Object[]) null);

} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
Log.e("song", "song:illegal argument");
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
Log.e("song", "song:" + e.getMessage());
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
Log.e("song", "song:" + e.getMessage());
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
Log.e("song", "song: class not found");
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
Log.e("song", "song:no such method");
e.printStackTrace();
} catch (InstantiationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

return isAlive;

}

抱歉!评论已关闭.