Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

จะตรวจจับการโทรในอุปกรณ์ Android ได้อย่างไร?


ตัวอย่างนี้สาธิตวิธีตรวจจับการโทรใน Android

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

 

ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java

<ก่อนหน้า>นำเข้า android.Manifest;นำเข้า android.content.pm.PackageManager;นำเข้า android.support.v4.app.ActivityCompat;นำเข้า android.support.v4.content.ContextCompat;นำเข้า android.support.v7.app.AppCompatActivity; นำเข้า android.os.Bundle นำเข้า android.widget.Toast คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { @Override ป้องกันโมฆะ onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_PHONE_STATE) !=PackageManager.PERMISSION_GRANTED){ if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.READ_PHONE_STATE.Marein){ กิจกรรมPermissionCompat สตริง[]{Manifest.permission.READ_PHONE_STATE}, 1); }อื่น{ ActivityCompat.requestPermissions(MainActivity.this, สตริงใหม่[]{Manifest.permission.READ_PHONE_STATE}, 1); } }อื่น{ แจ้ง (); } } @แทนที่โมฆะสาธารณะ onRequestPermissionsResult (int requestCode, String[] permissions, int[] grantResults){ switch (requestCode){ case 1:{ if (grantResults.length>0 &&GrantResults[0] ==PackageManager.PERMISSION_GRANTED){ if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_PHONE_STATE)==PackageManager.PERMISSION_GRANTED){ Toast.makeText (นี้ "อนุญาตแล้ว", Toast.LENGTH_SHORT).show(); } }อื่น{ Toast.makeText(นี่คือ "การอนุญาตถูกปฏิเสธ", Toast.LENGTH_SHORT).show(); } กลับ; } } }}

ขั้นตอนที่ 4 − สร้างคลาส java (DetectCalls) และเพิ่มโค้ดต่อไปนี้ใน DetectCalls.java

<ก่อนหน้า>นำเข้า android.content.BroadcastReceiver;นำเข้า android.content.Context;นำเข้า android.content.Intent;นำเข้า android.widget.Toast; DetectCalls คลาสสาธารณะขยาย BroadcastReceiver { @แทนที่โมฆะสาธารณะ onReceive (บริบทบริบท เจตนาเจตนา) { ลอง{ Toast.makeText(บริบท "กำลังส่งเสียง!", Toast.LENGTH_SHORT).show(); }จับ (ข้อยกเว้น จ){ e.printStackTrace(); } }}

ขั้นตอนที่ 5 − เพิ่มรหัสต่อไปนี้ใน androidManifest.xml

      <หมวดหมู่ android:name="android.intent.category.LAUNCHER" />   <ผู้รับ android:name=".DetectCalls"> <เจตนา -filter>    

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์แล้วคลิกไอคอน Run จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก แล้วตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ -

จะตรวจจับการโทรในอุปกรณ์ Android ได้อย่างไร?