0

我們正試圖在Android中創建一個同步適配器服務,當應用程序被終止時它將在後臺運行。當應用程序被終止時,在後臺服務中使用IBM移動第一個Android SDK。

此服務將從JsonStore中獲取一些數據並與服務器同步。

代碼

try { 

     URI adapterPath = new URI("/dummy/adapter"); 

     WLResourceRequest request = new WLResourceRequest(adapterPath,WLResourceRequest.POST); 

     request.send(new AdapterListener(new CallbackAdapter() { 

      @Override 
      public void onFetch(String response) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onError(String error) { 
       // TODO Auto-generated method stub 

      } 
     })); 

    } catch (URISyntaxException e) { 
     e.printStackTrace(); 
    } 

問題

  1. 當我們試圖在不同的進程中運行的服務,我們得到的線錯誤(WLResourceRequest要求=新WLResourceRequest( adapterPath,WLResourceRequest.POST);)應該在WL.createInstance之後調用WL.getInstance,但我們不能在服務中創建WL實例,因爲它需要一個ACTIVIT實例Y.

  2. 當我們試圖在同一個進程,其中應用程序正在運行的相關服務,一切工作正常取消平鋪應用程序正在運行,但如果我們殺的應用同樣的事情會發生這是在點發生1

問題

  1. 有沒有辦法,我們可以在服務中創建WL實例。

  2. 有沒有一種方法可以讓WL實例初始化永遠,即使用戶關閉應用程序。

  3. 有沒有一種方法,我們可以讓我們的應用程序,直到永遠初始化WL實例一直運行下去。

+0

請提供您的確切錯誤消息和堆棧跟蹤。 –

回答

1

我得到它的工作,你需要添加

WL.App.setKeepAliveInBackground(true); 

到js文件和WL實例將與Android同步適配器和服務工作。

0

目前不支持在Android服務中運行MobileFirst Android SDK。此功能有一項開放功能請求,因此如果您想要實現此功能,請隨時添加您的投票。搜索這裏:https://mobilefirstplatform.ibmcloud.com/help/

+0

好的,但是這個https://www.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.dev.doc/devref/t_keeping_app_running_in_background.html? –

相關問題