2013-05-21 30 views
6

Uygulamam gösteriyor bildirimleri ayarlanır ve bir bildirim gösterildiğinde, bir ses duyulur rağmen. Ama telefonum "sessiz modda" olduğunda, bildirim oynatılamaz. Sessiz mod ayarlanmış olsa da ses ayarlarını "geçersiz kılmak" ve ses çalmak istiyorum. Bunu yapmanın bir yolu var mı?Ses çal telefon sessiz mod

Settings.System.putInt(getContentResolver(),android.provider.Settings.System.NOTIFICATION_SOUND, 1); 

Dont manifest'te izin vermesi unutmak - -

+4

mutlu olur mu? Kullanıcının sessiz modunu neden seçtiği sorundur. Benim app böyle bir seçenek olacaktır çünkü –

+1

Evet,: Kullanıcı bu özelliği kullanıp böylece "sessiz mod özelliğine rağmen ses çalma", daha sonra, –

+0

Yani tek çözüm normale değişim modudur) Bildirim ses çalma ve sessiz set mod geri. –

cevap

5

Merhaba bildirim ses olarak MediaPlayer kullanabileceğiniz Bildirim gösterildiğinde MediaPlayer oyunudur.

, ses stop yapmak Bildirimin PendingIntent ait BroadCastReceiver hizmet durdurmak için. Ayrıca

bildirim iptal ettiğinde sesi durdurmak unutmayın. Eğer zaman önemli toplantıda size telefon için sessiz modunu ayarlamak ve hala bir uygulamadan bildirim sesini alırsanız

+0

Bence cevabınız bunu yapmanın iyi bir yolu olabilir. Ben deneyeceğim, teşekkürler! –

4
AudioManager am; 
am= (AudioManager) getBaseContext().getSystemService(Context.AUDIO_SERVICE); 
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
+0

Cevabınız için teşekkür ederiz. Bildirimlerle nasıl kullanabilirim? MyNotificationManager öğesine çağrı yapmadan önce RINGER_MODE_NORMAL ayarlanmalı ve sonra tekrar sessiz mi ayarlanmalıdır? Bunu yapmanın doğru yolu mu? –

+0

Çalışmıyor :(Modu normal olarak ayarlıyorum, sonra bildirimi gösteriyorum ve sonra tekrar tekrar sessiz olmaya ayarlıyorum, ancak ses yok ... Sessiz olarak ayarlamazsam, ses çalma .. Bildirim görüntülenirken NotificationManager.notify kod yürütmek için bir geri çağırma vardı whitting :( –

1

kullanımı bu bildirim sesi etkinleştirmek için bir hizmeti başlatarak,

<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
+0

Bu nedir? Bu aynı ?: AudioManager am; ( am = (AudioManager) getBaseContext(). GetSystemService (Bağlam. AUDIO_SERVICE); am.setRingerMode (AudioManager.RINGER_MODE_NORMAL); –

+0

Bildiriminiz için ses çalmak üzere sistem ayarlarını değiştirir. Eğer çalışmazsa, "SOUND_EFFECTS_ENABLED", "VOLUME_NOTIFICATION", "VOLUME_SYSTEM" gibi farklı ayarları deneyin. liste [this] bakın (http://developer.android.com/referen ce/android/sağlayıcı/Settings.System.html). – mjosh

+0

-1: Ek izin gerekiyor ve kullanıcının Ayarlarının değişmesi için mutlu olacağını düşünmüyorum. Bunu daha az hacky olan ve kullanıcıya daha iyi bir deneyim sunan, bunu aşmanın başka yolları da vardır. – zoltish