2016-03-25 39 views
0

Bir Handler sınıfı olan iç sınıflı bir hizmet sınıfı oluşturmaya çalışıyorum, maalesef bu sınıfta handler.obtainMessage() öğesine erişemiyorum. Bu konuda herhangi bir öneride bulunabilir mi? Servis sınıf içinmyHandler.obtainMessage() hizmet sınıfı içinde android için izin verilmiyor

Kaynak kodu: Sen ithal yanlış Handler sınıf var

public class MyService extends Service { 

    private MyHandler myHandler; 

    private final class MyHandler extends Handler { 
     public MyHandler(Looper looper) { 
      super(looper); 
     } 


     public void handleMessage(Message msg) { 
      try { 
       Thread.sleep(5000); 
       // use the unique startId so you don't stop the 
       // service while processing other requests 
       stopSelfResult(msg.arg1); 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
     } 

     @Override 
     public void close() { 

     } 

     @Override 
     public void flush() { 

     } 

     @Override 
     public void publish(LogRecord record) { 

     } 
    } 

    @Override 
    public void onCreate() { 
     Toast.makeText(this, "Service Created", Toast.LENGTH_SHORT).show(); 
     // Create a new HandlerThread with a specified priority 
     HandlerThread thread = new HandlerThread("MyHandlerThread",Thread.NORM_PRIORITY); 
     // Start the handler thread so that our Handler queue will start 
     // processing messages 
     thread.start(); 
     // Run the handler using the new HandlerThread 
     myHandler = new MyHandler(thread.getLooper()); 
    } 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     Message msg = myHandler.obtainMessage(); 
     msg.arg1 = startId; 
     myHandler.sendMessage(msg); 
     return START_STICKY; 
    } 

    @Override 
    public IBinder onBind(Intent arg0) { 
     return null; 
    } 

    @Override 
    public void onDestroy() { 
     Toast.makeText(this, "Service Done", Toast.LENGTH_SHORT).show(); 
    } 

} 
+1

Neden yapamazsınız? Bunu yapmakta sorun yok. Bir hata alıyorsanız, bunu gönderin. –

cevap

1

. java.util.logging.Handler değil android.os.Handler olmalıdır.

İlgili konular