2011-12-06 136 views
1

我正在Android模擬器中測試我的應用程序,當應用程序已通過onLocationChanged方法運行時,我只能設置GPS位置。在啓動應用程序之前,我無法設置它。這是我的onCreate方法中的代碼:在仿真器中啓動應用程序時獲取GPS位置

編輯:認爲你們錯過了我。我可以在應用程序運行時使用地理修正功能設置GPS位置。當我嘗試在啓動活動之前設置它時,我得到錯誤android.view.windowmanager $ badtokenexception。

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this); 
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); 

Criteria crit = new Criteria(); 
providers = lm.getBestProvider(crit, false); 
loc = lm.getLastKnownLocation(providers); 
    if (loc != null) { 
    title.setText(stop_name); 
    lview.setAdapter(lviewAdapter); 
     } else { 
     Toast t = Toast.makeText(this, "Failed to get GPS location", 5000); 
     t.setGravity(Gravity.BOTTOM, 0, 0); 
     t.show(); 
     } 

回答

1

設置在模擬器的GPS位置,你必須按照下面的步驟和下面的步驟設置之前打開的應用程序,那麼這將去最近的配置。

  1. 打開命令提示
  2. 類型 「遠程登錄本地主機5554」
  3. 然後鍵入地理固定

enter image description here

+0

應用程序運行時的工作原理工作。在啓動它之前可以設置一個位置嗎? – Carlj901

+0

可否請您在啓動應用程序之前運行上述命令,它一定會起作用 – Maneesh

+0

啓動應用程序時它不起作用。然後顯示onProviderDisabled方法中的代碼。 – Carlj901

1

enter image description here

正如可以在影像可以看到從日食中手動發送經緯度,方法是前往DDMS添加經緯度/長的價值手動和發送它,你可以通過這樣做得到這些點在你的模擬器

+0

這是我的答案圖形表示....除了這個答案,我的答案可以幫助您以任何視角打開所需的窗口,即使它不是DDMS ... – Prasham

1

你甚至不需要打開命令行工具,如果你正在使用eclipse [我希望你],如果不是你,噸有蘆葦休息....

  1. 前往窗口 - >顯示視圖>其他
  2. 在一個對話框中你可以找到機器人組[文件夾]
  3. 點擊模擬器控制
  4. 根據您的便利調整窗口
  5. 如果你有一個以上的模擬器/設備連接重複1和2
  6. 在這裏,你必須點擊設備
  7. 在設備點擊所需的仿真
  8. 再去仿真器剛打開
  9. 查找位置控制窗口控件[請注意,如果所選設備不是仿真器,則仿真器控件中的所有控件都將被禁用。]
  10. 按照您方便的格式輸入所需的位置。
  11. 按下發送 和中提琴....你可以很容易地與地點在模擬器