title: Bing maps on Android emulator works but not on device
body: <p>I've set up the <a href="http://bingmapsandroidsdk.codeplex.com/" rel="nofollow noreferrer">http://bingmapsandroidsdk.codeplex.com/</a> to try bing maps instead of google maps on Android. Because I was unable to set that up.</p>
  
  <p>I'm able to run Bing maps on my emulator but I'm unable to run it on my device(Galaxy S2).</p>
  
  <p>I have a wifi connection on my phone but I'm still unable to get past the load screen.</p>
  
  <p>I also checked this question but it doesn't solve the problem <a href="https://stackoverflow.com/questions/12443167/working-on-emulator-but-not-on-the-real-android-device">Working on Emulator but not on the real Android device</a></p>
  
  <p>So my code:</p>
  
  <p><strong>Manifest</strong>
  
  </p>
  
  <pre><code>&lt;uses-permission android:name="android.permission.INTERNET"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&gt;
  &lt;uses-permission android:name="android.permission.CALL_PHONE"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_GPS"&gt;&lt;/uses-permission&gt;
  &lt;uses-sdk android:minSdkVersion="5" android:targetSdkVersion="15"/&gt;
  
  &lt;application android:icon="@drawable/bingmaps_icon" android:label="@string/app_name" android:allowBackup="false"&gt;
      &lt;activity android:name=".MainActivity"
                android:label="@string/app_name"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.MAIN" /&gt;
              &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
          &lt;/intent-filter&gt;
      &lt;/activity&gt;
  
      &lt;activity android:name="SplashActivity"&gt;&lt;/activity&gt;
  &lt;/application&gt;
  </code></pre>
  
  <p> </p>
  
  <p><strong>Starting Activity copied from the Bing-sdk</strong></p>
  
  <pre><code>package org.bingmaps.app;
  
      import java.util.HashMap;
  
      import org.bingmaps.app.R;
  import org.bingmaps.sdk.BingMapsView;
  import org.bingmaps.sdk.Coordinate;
  import org.bingmaps.sdk.EntityClickedListener;
  import org.bingmaps.sdk.EntityLayer;
  import org.bingmaps.sdk.MapLoadedListener;
  import org.bingmaps.sdk.MapMovedListener;
  import org.bingmaps.sdk.MapStyles;
  import org.bingmaps.sdk.Pushpin;
  import org.bingmaps.sdk.PushpinOptions;
  import android.app.Activity;
  import android.app.ProgressDialog;
  import android.location.Location;
  import android.location.LocationListener;
  import android.os.Bundle;
  import android.os.Handler;
  import android.os.Message;
  import android.view.Menu;
  import android.view.MenuInflater;
  import android.view.MenuItem;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.view.Window;
  import android.widget.ViewFlipper;
  import android.widget.ZoomButton;
  
  public class MainActivity extends Activity {
  private BingMapsView bingMapsView;
  private GPSManager _GPSManager;
  private EntityLayer _gpsLayer;
  private ProgressDialog _loadingScreen;
  
  private Activity _baseActivity;
  
  CharSequence[] _dataLayers;
  boolean[] _dataLayerSelections;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
  
      requestWindowFeature(Window.FEATURE_NO_TITLE);
  
      //OPTION Lock map orientation
      setRequestedOrientation(1);
  
      setContentView(R.layout.main);
  
      Initialize();
  }
  
  private void Initialize()
  {
      _baseActivity = this;
      _GPSManager = new GPSManager((Activity)this, new GPSLocationListener());
  
      //Add more data layers here
      _dataLayers = new String[] { getString(R.string.traffic)};
      _dataLayerSelections =  new boolean[ _dataLayers.length ];
  
      _loadingScreen = new ProgressDialog(this);
      _loadingScreen.setCancelable(false);
      _loadingScreen.setMessage(this.getString(R.string.loading) + "...");
  
      bingMapsView = (BingMapsView) findViewById(R.id.mapView);
  
  
  
  
  
  
  
      //Create handler to switch out of Splash screen mode
      final Handler viewHandler = new Handler() {
          public void handleMessage(Message msg) {
              ((ViewFlipper) findViewById(R.id.flipper)).setDisplayedChild(1);
          }
      };
  
      //Add a map loaded event handler
      bingMapsView.setMapLoadedListener(new MapLoadedListener() {
          public void onAvailableChecked() {
              // hide splash screen and go to map
              viewHandler.sendEmptyMessage(0);
  
              //Add GPS layer
              _gpsLayer = new EntityLayer(Constants.DataLayers.GPS);
              bingMapsView.getLayerManager().addLayer(_gpsLayer);
              UpdateGPSPin();
          }
      });
  
      //Add a entity clicked event handler
      bingMapsView.setEntityClickedListener(new EntityClickedListener() {
          public void onAvailableChecked(String layerName, int entityId) {
              HashMap&lt;String, Object&gt; metadata = bingMapsView.getLayerManager().GetMetadataByID(layerName, entityId);
              DialogLauncher.LaunchEntityDetailsDialog(_baseActivity, metadata);
          }
      });
  
      //Load the map
      bingMapsView.loadMap(Constants.BingMapsKey, _GPSManager.GetCoordinate(), Constants.DefaultGPSZoomLevel, this.getString(R.string.mapCulture));
  
      // Create zoom out button functionality
      final ZoomButton zoomOutBtn = (ZoomButton) findViewById(R.id.zoomOutBtn);
      zoomOutBtn.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
              bingMapsView.zoomOut();
          }
      });
  
      // Create zoom button in functionality
      final ZoomButton zoomInBtn = (ZoomButton) findViewById(R.id.zoomInBtn);
      zoomInBtn.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
              bingMapsView.zoomIn();
          }
      });
  
  
  
  
  }    
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      MenuInflater inflater = getMenuInflater();
      inflater.inflate(R.layout.menu, menu);
      return true;
  }
  
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
      // Handle item selection
      switch (item.getItemId()) {
          //Map Mode menu items
          case R.id.autoBtn:
              bingMapsView.setMapStyle(MapStyles.Auto);
              item.setChecked(!item.isChecked());
              return true;
          case R.id.roadBtn:
              bingMapsView.setMapStyle(MapStyles.Road);
              item.setChecked(!item.isChecked());
              return true;
          case R.id.aerialBtn:
              bingMapsView.setMapStyle(MapStyles.Aerial);
              item.setChecked(!item.isChecked());
              return true;
          case R.id.birdseyeBtn:
              bingMapsView.setMapStyle(MapStyles.Birdseye);
              item.setChecked(!item.isChecked());
              return true;
          //More option items
          case R.id.aboutMenuBtn:
              DialogLauncher.LaunchAboutDialog(this);
              return true;
          case R.id.layersMenuBtn:
              DialogLauncher.LaunchLayersDialog(this, bingMapsView, _dataLayers, _dataLayerSelections);
              return true;
          case R.id.clearMapMenuBtn:
              bingMapsView.getLayerManager().clearLayer(null);
  
              //unselect all layers
              for(int i=0;i&lt;_dataLayerSelections.length;i++){
                  _dataLayerSelections[i] = false;
              }
  
              //re-add GPS layer
              bingMapsView.getLayerManager().clearLayer(Constants.DataLayers.GPS);
              UpdateGPSPin();
              return true;
          //GPS Menu Item
          case R.id.gpsMenuBtn:
              Coordinate coord = _GPSManager.GetCoordinate();
  
              if(coord != null){
                  //Center on users GPS location
                  bingMapsView.setCenterAndZoom(coord, Constants.DefaultGPSZoomLevel);
              }
              return true;
          //Search Menu Item
          case R.id.searchMenuBtn:
              DialogLauncher.LaunchSearchDialog(this, bingMapsView, loadingScreenHandler);
              return true;    
          //Directions Menu Item
          case R.id.directionsMenuBtn:
              DialogLauncher.LaunchDirectionsDialog(this, bingMapsView, loadingScreenHandler);
              return true;
          default:
              return super.onOptionsItemSelected(item);
      }
  }
  
  private void UpdateGPSPin(){        
      PushpinOptions opt = new PushpinOptions();
      opt.Icon = Constants.PushpinIcons.GPS;
      Pushpin p = new Pushpin(_GPSManager.GetCoordinate(), opt);
      if (p.Location != null) {       
          _gpsLayer.clear();
          _gpsLayer.add(p);
          _gpsLayer.updateLayer();
      }
  }
  
  @SuppressWarnings("unused")
  private final MapMovedListener mapMovedListener = new MapMovedListener() {
      public void onAvailableChecked() {
          //OPTION Add logic to Update Layers here. 
          //This will update data layers when the map is moved.
      }
  };
  
  /**
   * Handler for loading Screen
   */
  protected Handler loadingScreenHandler = new Handler() {
      public void handleMessage(Message msg) {
          if (msg.arg1 == 0) {
              _loadingScreen.hide();
          } else {
              _loadingScreen.show();
          }
      }
  };
  
  public class GPSLocationListener implements LocationListener {
      public void onLocationChanged(Location arg0) {
          UpdateGPSPin();
      }
  
      public void onProviderDisabled(String arg0) {
      }
  
      public void onProviderEnabled(String arg0) {
      }
  
      public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
      }   
  }
  }
  </code></pre>
  
  <p>ERRORS from LOGCAT: non</p>