主Activity
1 package com.test.nitifi; 2 3 import android.app.Activity; 4 import android.app.Notification; 5 import android.app.NotificationManager; 6 import android.app.PendingIntent; 7 import android.content.Context; 8 import android.content.Intent; 9 import android.net.Uri; 10 import android.os.Bundle; 11 import android.util.Log; 12 import android.view.View; 13 import android.widget.Button; 14 15 public class MainActivity extends Activity implements View.OnClickListener{ 16 /** Called when the activity is first created. */ 17 int i; 18 @Override 19 public void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.main); 22 Log.e("MainActivity", "onCreate"); 23 initViews(); 24 } 25 26 void initViews(){ 27 Button btEnable = (Button)findViewById(R.id.Notifi); 28 Button btCancel = (Button)findViewById(R.id.Cancel); 29 btEnable.setOnClickListener(this); 30 btCancel.setOnClickListener(this); 31 } 32 33 @Override 34 public void onClick(View v) { 35 // TODO Auto-generated method stub 36 switch(v.getId()){ 37 case R.id.Notifi: 38 Intent intent = new Intent(this,MyService.class); 39 if(i%2==0){ 40 intent.putExtra("s", true); 41 }else{ 42 intent.putExtra("s", false); 43 } 44 startService(intent); 45 i++; 46 break; 47 case R.id.Cancel: 48 stopService(new Intent(this,MyService.class)); 49 50 break; 51 } 52 } 53 54 @Override 55 protected void onDestroy() { 56 // TODO Auto-generated method stub 57 super.onDestroy(); 58 Log.e("MainActivity", "onDestroy"); 59 } 60 61 @Override 62 protected void onResume() { 63 // TODO Auto-generated method stub 64 super.onResume(); 65 Log.e("MainActivity", "onResume"); 66 Log.e("Action", getIntent().getAction()); 67 68 String is = this.getIntent().getStringExtra("interval"); 69 if(is!=null){ 70 Log.e("MainActivity", "有"); 71 }else{ 72 Log.e("MainActivity", "没有"); 73 } 74 } 75 76 @Override 77 protected void onStart() { 78 // TODO Auto-generated method stub 79 super.onStart(); 80 Log.e("MainActivity", "onStart"); 81 } 82 83 @Override 84 protected void onStop() { 85 // TODO Auto-generated method stub 86 super.onStop(); 87 Log.e("MainActivity", "onStop"); 88 } 89 90 91 }
1 package com.test.nitifi; 2 3 import android.app.Notification; 4 import android.app.NotificationManager; 5 import android.app.PendingIntent; 6 import android.app.Service; 7 import android.content.Context; 8 import android.content.Intent; 9 import android.net.Uri; 10 import android.os.IBinder; 11 import android.util.Log; 12 13 public class MyService extends Service{ 14 15 NotificationManager nm; 16 Notification nitifi; 17 PendingIntent pi; 18 Intent intent; 19 20 @Override 21 public IBinder onBind(Intent arg0) { 22 // TODO Auto-generated method stub 23 return null; 24 } 25 26 @Override 27 public void onCreate() { 28 // TODO Auto-generated method stub 29 super.onCreate(); 30 Log.e("MyService", "onCreate"); 31 nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); 32 intent = new Intent(this,MyReceiver.class); 33 intent.setAction("act"); 34 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 35 intent.putExtra("wo", "buxing"); 36 intent.putExtra("nitifiId", 0); 37 pi = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 38 nitifi = new Notification(R.drawable.ic_launcher,"新订单",System.currentTimeMillis()); 39 nitifi.setLatestEventInfo(this, "点击可查看", "2015645343454", pi); 40 nitifi.sound = Uri.parse("android.resource://"+this.getPackageName()+"/"+R.raw.neworder); 41 } 42 43 @Override 44 public void onDestroy() { 45 // TODO Auto-generated method stub 46 super.onDestroy(); 47 Log.e("MyService", "onDestroy"); 48 nm.cancel(0); 49 } 50 51 @Override 52 public void onStart(Intent intent, int startId) { 53 // TODO Auto-generated method stub 54 super.onStart(intent, startId); 55 Log.e("MyService", "onStart"); 56 if(intent.getBooleanExtra("s", false)){ 57 Log.e("intent", "偶数"); 58 nitifi.icon = R.drawable.ic_launcher; 59 }else{ 60 Log.e("intent", "奇数"); 61 nitifi.icon = R.drawable.me; 62 } 63 64 nm.notify(0, nitifi); 65 } 66 67 68 69 }
package com.test.nitifi; import android.app.NotificationManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class MyReceiver extends BroadcastReceiver{ NotificationManager nm; @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Log.e("MyReceiver", intent.getAction()); nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); nm.cancel(intent.getIntExtra("nitifiId", 0)); Intent it = new Intent(context,MainActivity.class); it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(it); } }