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

จะเล่นเสียงที่กำหนดเองเมื่อได้รับการแจ้งเตือนใน Android ได้อย่างไร


ตัวอย่างนี้สาธิตวิธีการเล่นเสียงที่กำหนดเองเมื่อได้รับการแจ้งเตือนใน Android

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

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

<ก่อน> <ปุ่ม android :onClick ="setRingtone" android :layout_width ="wrap_content" android :layout_height ="wrap_content " android :layout_centerHorizontal ="จริง" android :layout_marginTop ="32dp" android :text ="ตั้งเสียงเรียกเข้า" /> <ปุ่ม android :onClick ="createNotification" android :layout_width ="match_parent" android :layout_height ="wrap_content" android:layout_centerInParent ="จริง" android :layout_margin ="16dp" android :text ="สร้างการแจ้งเตือน" />

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

แพ็คเกจ app.tutorialspoint.com.notifyme;นำเข้า android.app.Activity;นำเข้า android.app.NotificationChannel;นำเข้า android.app.NotificationManager;นำเข้า android.content.Intent;นำเข้า android.media.RingtoneManager;นำเข้า android net.Uri นำเข้า android.os.Bundle นำเข้า android.support.annotation Nullable;import android.support.v4.app.NotificationCompat;import android.support.v7.app.AppCompatActivity;import android.view.View;คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { สตริงสุดท้ายแบบคงที่สาธารณะ NOTIFICATION_CHANNEL_ID ="10001"; สตริงคงที่ส่วนตัวสุดท้าย default_notification_channel_id ="default"; สตริงที่เลือกริงโทน; @Override ป้องกันโมฆะ onCreate (Bundle saveInstanceState) { super .onCreate (savedInstanceState); setContentView(R.layout. activity_main ); onNewIntent(getIntent()); } โมฆะสาธารณะ setRingtone (ดูมุมมอง) { เจตนาเจตนา =เจตนาใหม่ (RingtoneManager. ACTION_RINGTONE_PICKER ); Intent.putExtra (RingtoneManager. EXTRA_RINGTONE_TYPE , RingtoneManager. TYPE_NOTIFICATION ); Intent.putExtra(RingtoneManager. EXTRA_RINGTONE_TITLE , "เลือกโทน" ); Intent.putExtra(RingtoneManager. EXTRA_RINGTONE_EXISTING_URI , (Uri) null ); .startActivityForResult นี้ (เจตนา , 5 ); } โมฆะสาธารณะ createNotification (ดูมุมมอง) { NotificationManager mNotificationManager =(NotificationManager) getSystemService ( NOTIFICATION_SERVICE ); NotificationCompat.Builder mBuilder =ใหม่ NotificationCompat.Builder(MainActivity. this, default_notification_channel_id ); mBuilder.setContentTitle( "แจ้งให้ฉันทราบ" ); mBuilder.setContentText( "สิ่งที่สำคัญ!" ); mBuilder.setSmallIcon(R.drawable. ic_launcher_foreground ); mBuilder.setAutoCancel( จริง ); if (android.os.Build.VERSION. SDK_INT>=android.os.Build.VERSION_CODES. O ) { ความสำคัญจริง =NotificationManager IMPORTANCE_HIGH; NotificationChannel alertChannel =new NotificationChannel( NOTIFICATION_CHANNEL_ID , "NOTIFICATION_CHANNEL_NAME" , ความสำคัญ); mBuilder.setChannelId ( NOTIFICATION_CHANNEL_ID ); ยืนยัน mNotificationManager !=null; mNotificationManager.createNotificationChannel (ช่องแจ้งเตือน); } ยืนยัน mNotificationManager !=null; mNotificationManager.notify(( int ) ระบบ currentTimeMillis () , mBuilder.build()); } @Override ป้องกัน void onActivityResult ( int requestCode , int resultCode , @Nullable Intent data ) { super .onActivityResult (requestCode , resultCode , data); if (resultCode ==Activity. RESULT_OK &&requestCode ==5 ) { Uri uri =data.getParcelableExtra(RingtoneManager. EXTRA_RINGTONE_PICKED_URI ); ถ้า (uri !=null ) { นี่ . เลือกRingtone =uri.toString(); } อื่น ๆ { นี่ . เลือกริงโทน =null; } } }}

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

<ก่อน><แสดง xmlns:android ="https://schema.android.com/apk/res/android" package ="app.tutorialspoint.com.notifyme"> <หมวดหมู่ android :name ="android.intent.category.LAUNCHER" />

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