您的位置:首页 > 其它

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

2014-01-22 15:47 411 查看
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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: