0

サウンドなしで定期的な通知を作成すると、正常に動作します。しかし、私が音を加えれば、それは振動する。これは非論理的なので理解できません。ここで通知音はなぜ電話を振動させるのですか?

が正常に動作するコードの例である(振動しない)

 Notification.Builder builder = new Notification.Builder(this); 
    builder.setSmallIcon(R.drawable.ic_launcher) 
      .setContentIntent(PendingIntent.getActivity(this, 0, new Intent(), 0)) 
      .setOngoing(false); 

    builder.setCategory(Notification.CATEGORY_SERVICE); 
    builder.setVisibility(Notification.VISIBILITY_SECRET); 
    builder.setPriority(Notification.PRIORITY_MAX); 
    builder.setLights(0xFF00FF00, 1000, 0); 
    Uri theUri = Uri.parse(uriString); 
    //builder.setSound(theUri); 
    builder.setContentText("Android sucks"); 
    builder.setAutoCancel(false); 
    NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    manager.notify(FOREGROUND_ID, builder.build()); 

ここでは携帯電話が振動させるコードがあります。

 Notification.Builder builder = new Notification.Builder(this); 
    builder.setSmallIcon(R.drawable.ic_launcher) 
      .setContentIntent(PendingIntent.getActivity(this, 0, new Intent(), 0)) 
      .setOngoing(false); 

    builder.setCategory(Notification.CATEGORY_SERVICE); 
    builder.setVisibility(Notification.VISIBILITY_SECRET); 
    builder.setPriority(Notification.PRIORITY_MAX); 
    builder.setLights(0xFF00FF00, 1000, 0); 
    Uri theUri = Uri.parse(uriString); 
    builder.setSound(theUri); 
    builder.setContentText("Go buy an iPhone"); 
    builder.setAutoCancel(false); 
    NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    manager.notify(FOREGROUND_ID, builder.build()); 

は非合理的な私を呼び出して、私は音が欲しいとき、私は音を設定しますと、私が振動をしたいとき、私は振動を設定します:その振動が私の通知に設定されていません注意してください。私が両方を望むなら、私は両方を設定します。だから私は音を立てると自動的に振動を起こすのはなぜですか?それは追加のイライラ異常の数につながるものの

  long[] nullify = {0,0,0}; 
      builder.setVibrate(nullify); 

答えて

0

これはトリックを行うように見えました。 7つのオーディオストリームがあります。それらは次のとおりです。

STREAM_RING; 
    STREAM_NOTIFICATION; 
    STREAM_ALARM; 
    STREAM_MUSIC; 
    STREAM_DTMF; 
    STREAM_SYSTEM; 
    STREAM_VOICE_CALL; 

通知音が使用すると思ったストリームを選択する必要があった場合、どのストリームを私が推測すると思いますか?あなたは正しいです、私はそれがSTREAM_NOTIFICATIONを使用すると思います。どのストリームを使用していますか? STREAM_SYSTEM。したがって、通知のボリュームを制御できるようにするには、STREAM_SYSTEMのボリュームを設定する必要があります。しかし、もちろん、今のような望ましくない副作用は、私がFacebookのアプリで何かを「好き」をクリックすると可聴音が聞こえるという設定に変わった。

Androidは狂っています。

関連する問題