Arkadaşlar merhaba, internette bayağı bir araştırma yapmama rağmen doğru düzgün çalışan bir kod veya ders bulamadım. Gelen aramayı reddetmek istiyorum. Nasıl yapabilirim? Önerebileceğiniz ders veya kütüphane var mı?
MODIFY_PHONE_STATE izni sadece sistem uygulamalarına veriliyor bunun dışında bir şey kullanamaz mıyım?
Ali Karakavak
A
Sadece gelen aramayı otomatik kabul edemezsiniz bunun için root yada sistem olmalisiniz
Otomatik olarak değil. HandyCall tarzında bir şey düşünün sadece onun nasıl yapıldığını merak ediyorum.
Size clsss olarak ITelephoyn lazım bütün functionlar onun içinde var handycall nasıl onu bilmiyorum
Açıkçası onu yaptım. ITelephony diye bir class oluşturdum olmadı. Yani pek çok şey denedim en son buraya yazmaya karar verdim Handycall Google Play'de bir uygulama. İndirip inceleyebilirsiniz.
String serviceManagerName = "android. Os. ServiceManager"; String serviceManagerNativeName = "android. Os. ServiceManagerNative"; String telephonyName = "com. Android. İnternal. Telephony. ITelephony"; Class telephonyClass; Class telephonyStubClass; Class serviceManagerClass; Class serviceManagerNativeClass; Method telephonyEndCall; Object telephonyObject; Object serviceManagerObject; telephonyClass = Class. ForName(telephonyName); telephonyStubClass = telephonyClass. GetClasses()[0]; serviceManagerClass = Class. ForName(serviceManagerName); serviceManagerNativeClass = Class. ForName(serviceManagerNativeName); Method getService = serviceManagerClass. GetMethod("getService", String. Class); Method tempInterfaceMethod = serviceManagerNativeClass. GetMethod( "asInterface", IBinder. Class); Binder tmpBinder = new Binder(); tmpBinder. AttachInterface(null, "fake"); serviceManagerObject = tempInterfaceMethod. İnvoke(null, tmpBinder); IBinder retbinder = (IBinder) getService. İnvoke( serviceManagerObject, "phone"); Method serviceMethod = telephonyStubClass. GetMethod("asInterface", IBinder. Class); telephonyObject = serviceMethod. İnvoke(null, retbinder); telephonyEndCall = telephonyClass. GetMethod("endCall"); telephonyEndCall. İnvoke(telephonyObject);
bu kodlarla kendi projemde minSDK 8 TargetSDK 23 olacak şekilde android nougat 7.0 üzerinde test ettim gayet başarılı isterseniz bir deneyin
fakat ITelephony class ınız nasıl bilmiyorum isterseniz bendekini gönderebilirim
yolladığınız ne yazık ki çalışmadı sdk 19-25 te
Sen bunu hangi telefonda deniyorsun
Samsung galaxy a5 - sony xperia z3 compact - turkcell t40
t40 ta çalıştı
İşletim sürümleri kaç o telefonların
android 6.0.1 , android 6.0.1 , android 4.1.2
Ben bu kodları android 7.0 da calistiriyorum ve 4.4 te aradakilerde çalışmıyorsa muhakkak harfli bit ayrıntı vardır
Sdk ya neden bu kadar taktiniz anlamadim ayrıca sdk 25 demek çok ust düzey projeleri kapsar sizin işinizi sdk 18-19 fazlasıyla gorur
yazdığım öteki kodlar nedeni ile ne yazık ki 21den düşüğü çalışmamakta.