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

        String extra = "test";

        NotificationManager myNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

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

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

        notification.setLatestEventInfo(getApplicationContext(), "title", "text", pendingIntent);


        notification.defaults|= Notification.DEFAULT_SOUND;
        notification.defaults|= Notification.DEFAULT_LIGHTS;
        notification.defaults|= Notification.DEFAULT_VIBRATE;
        notification.flags |= Notification.FLAG_INSISTENT;
        notification.flags |= Notification.FLAG_AUTO_CANCEL;

        myNotificationManager.notify(1, notification);
    }
}

这段代码工作正常,问题是,当我运行它时,通知声音会不断响起,直到我在状态栏上检查它。有没有办法让它只响一次,而不是一直响?

4

1 回答 1

7

删除标志Notification.FLAG_INSISTENT

来自文档:“位被按位或设置到标志字段中,如果设置,音频将重复,直到通知被取消或通知窗口打开。”

于 2012-05-16T21:17:37.903 回答