Искам да създам такова приложение, в което искам да отворя дайлер с определен номер по време на разговор.
Успешно отворих набирача по време на разговор с препратка към тази ВРЪЗКА, но не може да набере номера, а друг проблем е, че кодът не работи над Android 2.2. има ли друг начин това да работи във всички устройства.
Код:
TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
Class c = Class.forName(tm.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
ITelephony telephonyService;
telephonyService = (ITelephony)m.invoke(tm);
// Silence the ringer and answer the call!
telephonyService.silenceRinger();
telephonyService.answerRingingCall();
telephonyService.showCallScreen();
telephonyService.showCallScreenWithDialpad(true);
РЕГИСТРАТОР НА ГРЕШКИ:
01-09 17:35:41.065: W/Resources(367): Converting to string: TypedValue{t=0x10/d=0x2 a=-1}
01-09 17:38:23.446: W/System.err(367): java.lang.SecurityException: Neither user 10056 nor current process has android.permission.MODIFY_PHONE_STATE.
01-09 17:38:23.446: W/System.err(367): at android.os.Parcel.readException(Parcel.java:1322)
01-09 17:38:23.446: W/System.err(367): at android.os.Parcel.readException(Parcel.java:1276)
01-09 17:38:23.446: W/System.err(367): at com.android.internal.telephony.ITelephony$Stub$Proxy.silenceRinger(ITelephony.java:549)
01-09 17:38:23.446: W/System.err(367): at com.everysoft.autoanswer.AutoAnswerIntentService.answerPhoneAidl(AutoAnswerIntentService.java:137)
01-09 17:38:23.446: W/System.err(367): at com.everysoft.autoanswer.AutoAnswerIntentService.onHandleIntent(AutoAnswerIntentService.java:94)
01-09 17:38:23.446: W/System.err(367): at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:59)
01-09 17:38:23.446: W/System.err(367): at android.os.Handler.dispatchMessage(Handler.java:99)
01-09 17:38:23.446: W/System.err(367): at android.os.Looper.loop(Looper.java:123)
01-09 17:38:23.446: W/System.err(367): at android.os.HandlerThread.run(HandlerThread.java:60)
Manifest.xml
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
РЕДАКТИРАНЕ
Мога да отговоря автоматично на повикването на всички устройства, но имам проблем само с отварянето на клавиатурата за набиране.