从MainActivity中启动一个Service,为什么没有反应?
代码如下,想实现点MainActivity中的Button后,启动Service(先显示一个Toast.show,然后定时发消息“您有新订单!"),但运行以后,点button后似没有任何反应,请问代码哪里不对?
public class MainActivity extends Activity {
private NotificationManager notificationManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b1=(Button)findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Intent intent=new Intent(MainActivity.this,OrderService.class);
startService(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
protected void onDestroy(){
super.onDestroy();
Intent intent=new Intent(MainActivity.this,OrderService.class);
stopService(intent);
}
}
public class OrderService extends Service{
private boolean threadDisable;
private NotificationManager notificationManager;
@Override
public IBinder onBind(Intent intent){
return null;
}
@Override
public void onCreate(){
super.onCreate();
notificationManager=(NotificationManager) this.getSystemService(NOTIFICATION_SERVICE);
Toast toast=Toast.makeText(getApplicationContext(), "Hello, world",Toast.LENGTH_LONG);
toast.show();
new Thread(new Runnable(){
@Override
public void run(){
while(!threadDisable){
try{
Notification notification1=new Notification();
notification1.icon=R.drawable.ic_launcher;
notification1.tickerText="您有新订单!";
PendingIntent intent=PendingIntent.getActivity(OrderService.this,0, new Intent(OrderService.this,MainActivity.class), 0);
notification1.setLatestEventInfo(OrderService.this, "通知", "您有新订单", intent);
notificationManager.notify(0,notification1);
Thread.sleep(60000);
}catch(InterruptedException e){
}
}
}
}).start();
}
@Override
public void onDestroy(){
super.onDestroy();
this.threadDisable=true;
}
}
------解决思路----------------------
service注册了么?
------解决思路----------------------
首先注册services,然后debug下oncreate里面