2016-12-27 24 views
0

我想聽剪貼板,如果有任何事情複製,所以我得到它並處理it.so我寫了一個服務it.but似乎android系統殺死我的服務過程後有一段時間,沒有任何詞複製到剪貼板。我必須這樣做,我的服務繼續運行?聽取剪貼板中的服務android

public class Service_clipboard extends Service { 


    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 

     ClipboardManager.OnPrimaryClipChangedListener mPrimaryChangeListener = new ClipboardManager.OnPrimaryClipChangedListener() { 
      public void onPrimaryClipChanged() { 

       ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 

       DoSomeThing(clipboard.getText().toString()); 
      } 
     }; 

     ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
     clipboardManager.addPrimaryClipChangedListener(mPrimaryChangeListener); 

     return Service.START_REDELIVER_INTENT; 
    } 

    @Override 
    public IBinder onBind(Intent arg0) { 
     // TODO Auto-generated method stub 
     return null; 
    } 

} 

回答

0

您可以使用Service#startForeground,它將使系統,除非它需要記憶不好不殺生爲您服務。 折衷是,您需要發佈通知來通知用戶您的應用程序一直在運行。