Что не так с моим кодом - Уведомление - нет звука нет вибрации - PullRequest
10 голосов
/ 07 июля 2011

Кажется, у меня проблема с моим кодом. Я создал тестовое задание, просто чтобы понять, что не так, но все равно не могу.

public class test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    String extra = "test";

    NotificationManager myNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    Intent intent = new Intent(this, test.class);

    Notification notification = new Notification(R.drawable.icon, 
            extra, 
            System.currentTimeMillis());
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 
            0,
            intent,
            PendingIntent.FLAG_UPDATE_CURRENT);

    notification.setLatestEventInfo(getApplicationContext(), "title", "text", pendingIntent);
    notification.flags |= Notification.DEFAULT_SOUND;
    notification.flags |= Notification.DEFAULT_LIGHTS;
    notification.flags |= Notification.DEFAULT_VIBRATE;
    notification.flags |= Notification.FLAG_INSISTENT;
    notification.flags |= Notification.FLAG_AUTO_CANCEL;

    myNotificationManager.notify(33, notification);

}
}

Я не получаю звука и / или вибрации при появлении уведомления.

Я посмотрел на настройки моего телефона, и они в порядке, без звука, звук по умолчанию - включен.

Ответы [ 2 ]

17 голосов
/ 07 июля 2011

Этот ...

notification.flags |= Notification.DEFAULT_SOUND;
notification.flags |= Notification.DEFAULT_LIGHTS;
notification.flags |= Notification.DEFAULT_VIBRATE;

должно быть ...

notification.defaults|= Notification.DEFAULT_SOUND;
notification.defaults|= Notification.DEFAULT_LIGHTS;
notification.defaults|= Notification.DEFAULT_VIBRATE;
13 голосов
/ 08 марта 2012

Для всех значений по умолчанию (Звук, Вибрация и Свет) в 1 строке кода вы можете использовать:

notification.defaults = Notification.DEFAULT_ALL;

это эквивалент

notification.defaults|= Notification.DEFAULT_SOUND;
notification.defaults|= Notification.DEFAULT_LIGHTS;
notification.defaults|= Notification.DEFAULT_VIBRATE;

убедитесь, что вы установили разрешения для вибрации в вашем манифесте

<uses-permission android:name="android.permission.VIBRATE" />
...