2

私はAndroidを初めて使用し、通知付きでサウンドを再生しようとしましたが、シミュレーターで動作していません。私を助けてください。

public class OneShotAlarm extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, R.string.one_shot_received, Toast.LENGTH_SHORT).show();

        buildNotification(context);

    }


    @SuppressLint("NewApi")
    private void buildNotification(Context context){
          NotificationManager notificationManager 
          = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
          Notification.Builder builder = new Notification.Builder(context);

          Intent intent = new Intent(context, MainActivity.class);
          PendingIntent pendingIntent 
          = PendingIntent.getActivity(context, 0, intent, 0);

          builder
          .setSmallIcon(R.drawable.ic_launcher)
          .setContentTitle("ContentTitle")
          .setContentText("ContentText")
          .setContentInfo("ContentInfo")
          .setTicker("Ticker")
          .setLights(0xFFFF0000, 500, 500) //setLights (int argb, int onMs, int offMs)
          .setContentIntent(pendingIntent)
          .setSound(Uri.parse("android.resource://com.vatshal.VSAlarm/" + R.raw.satinder))
          .setAutoCancel(true);

          Notification notification = builder.build();
          //notification.sound = Uri.parse("android.resource://com.vatshal.VSAlarm/" + R.raw.satinder); 
          //notification.defaults |= Notification.DEFAULT_SOUND;

          notificationManager.notify(R.drawable.notification_warning, notification);
         }
}
4

2 に答える 2

2

リソースにサウンドがあることを確認してください

try {
        MediaPlayer mediaPlayer = MediaPlayer.create(context,                 R.raw.sound);
        mediaPlayer.start();
    } catch (Exception ex) {

    }
于 2013-01-03T11:06:49.550 に答える
0

使用しました

.setSound(Uri.parse( "android.resource://com.vatshal.VSAlarm/" + R.raw.satinder))

オーディオパスを設定するのは正しい構文ですか?「satinder」という名前の「raw」フォルダ内に配置されますか?

于 2013-01-03T11:19:10.817 に答える