Guest User

AppActivity.java for cocos2dx (support local notifications)

a guest
Jan 5th, 2015
665
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.70 KB | None | 0 0
  1. package org.cocos2dx.cpp;
  2.  
  3. import java.util.Calendar;
  4.  
  5. import org.cocos2dx.lib.Cocos2dxActivity;
  6.  
  7. import android.app.Activity;
  8. import android.app.AlarmManager;
  9. import android.app.PendingIntent;
  10. import android.content.Intent;
  11. import android.os.Bundle;
  12. import android.util.Log;
  13.  
  14. public class AppActivity extends Cocos2dxActivity {
  15.     private static final String TAG = Cocos2dxActivity.class.getSimpleName();
  16.     private static Activity sActivity;
  17.    
  18.     @Override
  19.     protected void onCreate(Bundle savedInstanceState) {
  20.         super.onCreate(savedInstanceState); // run cocos2dxactivity standard onCreate method
  21.         sActivity = this;
  22.     }
  23.    
  24.     public static void showLocalNotification(String message, int interval, int tag) {
  25.         Log.v(TAG, "showLocalNotification");
  26.         PendingIntent sender = getPendingIntent(message, tag);
  27.        
  28.         Calendar calendar = Calendar.getInstance();
  29.         calendar.setTimeInMillis(System.currentTimeMillis());
  30.         calendar.add(Calendar.SECOND, interval);
  31.        
  32.         AlarmManager am = (AlarmManager)sActivity.getSystemService(ALARM_SERVICE);
  33.         am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);
  34.     }
  35.    
  36.     public static void cancelLocalNotification(int tag) {
  37.         Log.v(TAG, "cancelLocalNotification");
  38.         PendingIntent sender = getPendingIntent(null, tag);
  39.         AlarmManager am = (AlarmManager)sActivity.getSystemService(ALARM_SERVICE);
  40.         am.cancel(sender);
  41.     }
  42.    
  43.     private static PendingIntent getPendingIntent(String message, int tag) {
  44.         Intent i = new Intent(sActivity.getApplicationContext(), LocalNotificationReceiver.class);
  45.         i.putExtra("notification_id", tag);
  46.         i.putExtra("message", message);
  47.         PendingIntent sender = PendingIntent.getBroadcast(sActivity, 0, i, 0);
  48.         return sender;
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment