Development Android Bilgi Rehberim - ADB ile Arama Fonksiyonları

Zenlty

Firmware Team Leader at OMIX Mobile Technology
VIP Üye
Katılım
23 Haz 2018
Mesajlar
1,118
Tepkime puanı
5,737
Puanları
113
Yaş
22
Konum
Beşiktaş , İstanbul , Türkiye
Çevrimdışı
Merhabalar, bu yazımda Android Debug Bridge kullanarak arama yaptırma ve MMI kodlarını cihazda çalıştırmayı anlatacağım. Call yani arama fonksiyonunu kullanmak için root yetkisine sahip olmanız gerekmez.

Bu adb kodlarını genel anlamda kullandığım bir aracım olan TechnoDevs toolun kaynak kodlarını github üzerinde zaten paylaştım.

Başlangıç olarak cihazınızı açık şekilde adb modunda bağlayın. (online - adb)
Kod:
adb shell
Kodunu yazın ve shell ekranına ulaşın.
Kod:
$ code_name
cihazınızın kod adı listelenmiş olacaktır.
C# üzerinde fonksiyonu şu şekilde çalıştırıyoruz :
1612714009040.png
bunu da adb ekranında kullanmak için şöyle yapıyoruz.
Kod:
shell am start -a android.intent.action.CALL -d tel:
tel: yazan yere telefon numarasını yazacaksınız.
Bu kodları tek satırda yazmak için şunu kullanabilirsiniz :
Kod:
adb shell shell am start -a android.intent.action.CALL -d tel:
 
Düzenleme :
tel: yazan yere telefon numarasını yazacaksınız.
Bu kodları tek satırda yazmak için şunu kullanabilirsiniz :

Kod:
adb shell am start -a android.intent.action.CALL -d tel:
 
Güncelleme :
MMI kodlarını adb ile kullanım şekli
# için %23 kullanıyoruz.
* normal * şeklinde yazılabilir.
*#06# örneği aşağıdadır

Kod:
adb shell
su
am start -a android.intent.action.DIAL -d "tel:*%2306%23"

C# geliştiricileri şu şekilde kullanabilirler.
Öncelikle RunCommand fonksiyonu içerisinde olduğunu varsayıyorum.
Örneğin :

C#:
        void runCommand(string programs, string args)
        {
            Process process = new Process();
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.WindowStyle = ProcessWindowStyle.Hidden;
            startInfo.CreateNoWindow = true;
            startInfo.UseShellExecute = false;
            startInfo.RedirectStandardOutput = true;
            startInfo.FileName = programs;
            startInfo.Arguments = args;
            process.StartInfo = startInfo;
            process.Start();
            process.WaitForExit();
        }
Kullanım şekli :
C#:
runCommand("adb.exe", @"shell su -c  am start -a android.intent.action.DIAL -d ""tel:*%2306%23""");
 
Son düzenleme:
Kolay okunabilirlik açısından kod güncellemesi ,
Bu runCommand Void i:

C#:
    void runCommand(string programs, string args)
        {
            Process process = new Process();
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.WindowStyle = ProcessWindowStyle.Hidden;
            startInfo.CreateNoWindow = true;
            startInfo.UseShellExecute = false;
            startInfo.RedirectStandardOutput = true;
            startInfo.FileName = programs;
            startInfo.Arguments = args;
            process.StartInfo = startInfo;
            process.Start();
            process.WaitForExit();
        }
MMI kodundaki #i %23'e çeviriyoruz.
C#:
public string MMIConvertToAdb(string command)
        {
            command = command.Replace("#", "%23");
            return command;
        }
Void hazırlıyoruz
C#:
 public void runMMICommand(string command)
        {
            runCommand("adb.exe", @"shell su -c  am start -a android.intent.action.DIAL -d ""tel:" + MMIConvertToAdb(command) + "");
        }
Kullanım şekli
C#:
runMMICommand("*#06#");
 
Geri
Üst Alt