Android'de yazdığım programda gelen aramayı reddetmek istiyorum nasıl yaparım?

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?

A
0 kişi takip ediyor.
Misafir olarak yayınla
3
3 CEVAP

Sadece gelen aramayı otomatik kabul edemezsiniz bunun için root yada sistem olmalisiniz

M

Otomatik olarak değil. HandyCall tarzında bir şey düşünün sadece onun nasıl yapıldığını merak ediyorum.

Ali Karakavak 6 yıl

Size clsss olarak ITelephoyn lazım bütün functionlar onun içinde var handycall nasıl onu bilmiyorum

Metin Yeşiltaş 6 yıl

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.

Ali Karakavak 6 yıl

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);

Metin Yeşiltaş 6 yıl

bu kodlarla kendi projemde minSDK 8 TargetSDK 23 olacak şekilde android nougat 7.0 üzerinde test ettim gayet başarılı isterseniz bir deneyin

Metin Yeşiltaş 6 yıl

fakat ITelephony class ınız nasıl bilmiyorum isterseniz bendekini gönderebilirim

Metin Yeşiltaş 6 yıl

yolladığınız ne yazık ki çalışmadı sdk 19-25 te

Ali Karakavak 6 yıl

Sen bunu hangi telefonda deniyorsun

Metin Yeşiltaş 6 yıl

Samsung galaxy a5 - sony xperia z3 compact - turkcell t40

Ali Karakavak 6 yıl

t40 ta çalıştı

Ali Karakavak 6 yıl

İşletim sürümleri kaç o telefonların

Metin Yeşiltaş 6 yıl

android 6.0.1 , android 6.0.1 , android 4.1.2

Ali Karakavak 6 yıl

Ben bu kodları android 7.0 da calistiriyorum ve 4.4 te aradakilerde çalışmıyorsa muhakkak harfli bit ayrıntı vardır

Metin Yeşiltaş 6 yıl

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

Metin Yeşiltaş 6 yıl

yazdığım öteki kodlar nedeni ile ne yazık ki 21den düşüğü çalışmamakta.

Ali Karakavak 6 yıl