2016-07-06 17 views
0

我正在使用一些Estimote信標(基本上是藍牙接近信標),並且我正在創建一個安卓應用,該應用一旦拿起某個信標就切換屏幕。將方法傳遞給另一個活動

public class MainActivity extends AppCompatActivity implements hold_undo_fragment.toggleButtonListener { 
    public void runBeaconDistances(){ 
     final Intent i = new Intent(this, corsi.class); 
     final Intent j = new Intent(this, search_key.class); 
     final Intent k = new Intent(this, corsi2.class); 
     beaconDistances = new BeaconDistances(this, beaconIDs); 
     beaconDistances.setListener(new BeaconDistances.Listener() { 
      @Override 
      public void onBeaconDistancesChanged(BeaconID beaconID) { 
       if(beaconID != null){ 
        int beaconMinor = beaconID.getMinor(); 
        switch (beaconMinor) { 
         case 9911: startActivity(i); 
          break; 
         case 11904: startActivity(j); 
          break; 
         case 27710: startActivity(k); 
          break; 
        } 
       } 
      } 
     }); 
    } 
} 

我的onCreate只是運行這個程序,onResume開始尋找信標,onPause停止尋找。

我想知道的是,如果有一種方法可以在另一個活動中擴展/傳遞/運行此方法,而無需再次將其全部複製下來?或者有沒有辦法讓這個不斷在後臺運行,並改變活動。

現在,一旦MainActivity切換到corsi,search_key或corsi2,它就停留在該活動上。 Corse,search_key和corsi2現在是空的新活動。

此外,所有beaconDistances都會掃描信標並返回最近的信標以及該信標(未成年人)的識別號碼。

+0

如何使用回調? – temnoi

回答

1

我認爲你要找的是Service。 A Service是讓我們執行不需要用戶交互的更長時間運行的操作。你可以從你的MainActivity開始你的服務,然後從你需要的任何其他地方連接到它。

相關問題