Я создаю приложение, зависящее от родительских отношений с дочерними элементами, в которых, когда ребенок получил вызов от конкретного нет, он должен автоматически изменяться при телефонной конференции с родителем. Является ли это возможным?
Я прочитал о классе com.android.internal.telephony.gsm.GSMPhone
из которого мы можем сделать эту функциональность. Но я не получаю этот класс напрямую. Поэтому, пожалуйста, помогите мне сделать это. Я получил звонок от приемника входящих вызовов.
Вы не можете сделать это из приложения. com.android.internal.telephony.gsm.GSMPhone - это внутренний класс, и вы не можете получить к нему доступ. Вы можете попробовать создать экземпляр, используя JAVA-отражение, но вы получите исключение. Вы можете только установить прослушиватель состояния телефона и т.д. Из приложения или вы можете перехватить исходящий вызов, получив некоторую трансляцию "NEW_OUTGOING_CALL". попробуйте Как это, но это не сработает: -)
try {
final Class<?> classPhonefactory = classLoader
.loadClass("com.android.internal.telephony.PhoneFactory");
Class.forName("com.android.internal.telephony.PhoneFactory");
// Object objPhonefactory = classPhonefactory.newInstance();
Method method_getDefaultPhone;
method_getDefaultPhone = classPhonefactory
.getDeclaredMethod("getGsmPhone");
method_getDefaultPhone.setAccessible(true);
Object phoneProxyInstance = method_getDefaultPhone.invoke(null, null);
if (null == phoneProxyInstance) {
Log.i("CALLActivity", "Exception!");
} else {
Log.i("CALLActivity", "GOT phoneProxyInstance!");
}
} catch (ClassNotFoundException e) {
Log.e("CALLActivity", "PhoneFactory", e);
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}