2013-11-26 20 views
2

我在我的應用中使用推送通知。我能夠播放推送的默認聲音。現在我想用一些Mp3。我不在哪裏放置MP3在項目中,以及如何在活動中使用它。請幫幫我 。在Android中使用外部聲音的推送通知

+0

放入原始文件夾 –

+0

以及如何在活動中使用? notification.sound = Uri.parse(「file:///sdcard/notification/SOUND.mp3」); –

+0

查看我的回答 –

回答

3

將文件放入原始文件夾。

如果你想使用的.ogg文件,使用這樣的:

Thread t = new Thread() 
     { 
       public void run() 
       { 
        MediaPlayer player = null; 

        player = MediaPlayer.create(context,R.raw.push_sound); 
        player.start(); 

        try 
        { 
         Thread.sleep(player.getDuration()+100); 
        } 
        catch (InterruptedException e) 
        { 

        } 
       } 
      } 
     }; 
     t.start(); 

編輯

請使用下面的代碼,當你在廣播接收器得到通知,然後在活動類呼叫活動。

使用下面的代碼,以播放聲音文件。

mMediaPlayer = new MediaPlayer(); 
mMediaPlayer = MediaPlayer.create(this, R.raw.sound1); 
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mMediaPlayer.setLooping(true); 
mMediaPlayer.start(); 
+0

檢查編輯的代碼 –

+0

是的,我正在使用它。經過測試,我會給你upVoe :) –

+1

當然..希望它可以幫助你:) –

0

你必須得到一個IntentReceiver的幫助:

public class IntentReceiver extends BroadcastReceiver { 

    private static final String logTag = "PushSample"; 
    public static String APID_UPDATED_ACTION_SUFFIX = ".apid.updated"; 
    public static String gcmId=""; 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     Log.i(logTag, "Received intent: " + intent.toString()); 
     String action = intent.getAction(); 

     if (action.equals(PushManager.ACTION_PUSH_RECEIVED)) { 

      int id = intent.getIntExtra(PushManager.EXTRA_NOTIFICATION_ID, 0); 

      // Id 
      String ap_id = intent.getStringExtra(PushManager.EXTRA_APID); 

      System.out.println("IntentReceiver::- ID::-" + ap_id); 

      Log.i(logTag, 
        "Received push notification. Alert: " 
          + intent.getStringExtra(PushManager.EXTRA_ALERT) 
          + " [NotificationID=" + id + "]"); 

      logPushExtras(intent); 

     } 
} 

PushManager.ACTION_PUSH_RECEIVED被接收到推送時觸發。您需要在清單中聲明IntentReceiver。

這是一個很好的教程遵循:http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html