Android Google map Root directins display problem using GPS

Common bugs/problems with the Android SDK the Emulator and the ADT-Plugin.

Android Google map Root directins display problem using GPS

Postby muralimoida » Thu Dec 01, 2011 2:40 pm

Hi,

I am new to android i am implementing googlemaps root directions between source & destination points using internet it's working fine but the thing is that i need to display googlemap root directions using GPS functionality.Below is i am attaching my working code with internet can you help me to work using with GPS.

Road.java:--

public class Road {
public String mName;
public String mDescription;
public int mColor;
public int mWidth;
public double[][] mRoute = new double[][] {};
public Point[] mPoints = new Point[] {};
}

==============================================================
Point.java:--

public class Point {
String mName;
String mDescription;
String mIconUrl;
double mLatitude;
double mLongitude;
}

================================================================
RootMapActivity.java:--

public class RootMapActivity extends MapActivity implements DialogInterface.OnCancelListener,
DialogInterface.OnDismissListener
{

private MapController mapController;

private final int CONTEXT_MENU_ID = 1;
private IconContextMenu iconContextMenu = null;

/* private final int MENU_ITEM_1_ACTION = 1;
private final int MENU_ITEM_2_ACTION = 2;
private final int MENU_ITEM_3_ACTION = 3;
private final int MENU_ITEM_4_ACTION = 4;

*/
private MapView map = null;
private MyLocationOverlay me = null;
Context context;
Road mRoad;

static final String tag = "Main"; // for Log

double fromLat = 43.0876333333333, fromLon = 6.14075, toLat = 43.1022333333333, toLon = 6.18101666666667;

int int_lat_source = (int)fromLat;
int int_lon_source = (int)fromLon;
int int_lat_destination = (int)toLat;
int int_lon_destination = (int)toLon;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* For Remove title bar of the application or You can Apply through manifest.xml File like android:theme="@android:style/Theme.NoTitleBar"*/
//requestWindowFeature(Window.FEATURE_NO_TITLE);

/* +++++++++++++ Remove notification bar ++++++++++++++++++++ */
//this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);


setContentView(R.layout.maps);

map = (MapView) findViewById(R.id.map);

map.setBuiltInZoomControls(true);

map.setStreetView(true);
map.setSatellite(true);

//++++++++++ Below 3 Lines Code For Gps Usage Starting +++++++++++++++++++++++++//

LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);

//++++++++++ Gps Usage Ending +++++++++++++++++++++++++//

Resources res = getResources();

Button backButton = (Button) findViewById(R.id.mapsbackbuttonid);
Button menuButton = (Button) findViewById(R.id.mapsmenubuttonid);

registerForContextMenu(menuButton);

MapController mapController = map.getController();
mapController.setZoom(7);


//init sample list for test
//initSampleList();

/*//init the menu
iconContextMenu = new IconContextMenu(this, CONTEXT_MENU_ID);
iconContextMenu.addItem(res, "Help", R.drawable.ic_1, MENU_ITEM_1_ACTION);
iconContextMenu.addItem(res, "Create POI", R.drawable.ic_2, MENU_ITEM_2_ACTION);
iconContextMenu.addItem(res, "Take Picture", R.drawable.ic_3, MENU_ITEM_3_ACTION);
iconContextMenu.addItem(res, "GPS/Virtual", R.drawable.ic_4, MENU_ITEM_4_ACTION);

//set onclick listener for context menu
iconContextMenu.setOnClickListener(new IconContextMenu.IconContextMenuOnClickListener() {
@Override
public void onClick(int menuId) {
switch(menuId) {
case MENU_ITEM_1_ACTION:
//Toast.makeText(getApplicationContext(), "You've clicked on menu item 1", 1000).show();
Intent helpIntent = new Intent(RootMapActivity.this, Menu.class);
startActivity(helpIntent);
break;
case MENU_ITEM_2_ACTION:
//Toast.makeText(getApplicationContext(), "You've clicked on menu item 2", 1000).show();
Intent createPOIIntent = new Intent(RootMapActivity.this, Menu.class);
startActivity(createPOIIntent);
break;
case MENU_ITEM_3_ACTION:
//Toast.makeText(getApplicationContext(), "You've clicked on menu item 3", 1000).show();
Intent takePictureIntent = new Intent(RootMapActivity.this, Menu.class);
startActivity(takePictureIntent);
break;
case MENU_ITEM_4_ACTION:
Toast.makeText(getApplicationContext(), "You've clicked on menu item 4", 1000).show();
Intent GPSVirtualIntent = new Intent(RootMapActivity.this, Menu.class);
startActivity(GPSVirtualIntent);
break;
}
}
});*/

String url = RoadProvider.getUrl(fromLat, fromLon, toLat, toLon);
InputStream is = getConnection(url);
mRoad = RoadProvider.getRoute(is);

MapOverlay mapOverlay = new MapOverlay(mRoad, map);
List<Overlay> listOfOverlays = map.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
map.invalidate();

Drawable marker = getResources().getDrawable(R.drawable.pin_red);
map.getOverlays().add(new SitesOverlay(marker));

me = new MyLocationOverlay(this, map);
map.getOverlays().add(me);


}
/* ++++++ Code For Options Menu ++++++++++++++++ */
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Context Menu");
menu.add(0, v.getId(), 0, "Action 1").setIcon(R.drawable.ic_1);
menu.add(0, v.getId(), 0, "Action 2").setIcon(R.drawable.ic_2);

Resources res = getResources();

/* menu.addItem(res, "Help", R.drawable.ic_1, MENU_ITEM_1_ACTION);
menu.addItem(res, "Create POI", R.drawable.ic_2, MENU_ITEM_2_ACTION);
menu.addItem(res, "Take Picture", R.drawable.ic_3, MENU_ITEM_3_ACTION);
menu.addItem(res, "GPS/Virtual", R.drawable.ic_4, MENU_ITEM_4_ACTION);*/
}

@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle()=="Action 1"){function1(item.getItemId());}
else if(item.getTitle()=="Action 2"){function2(item.getItemId());}
else {return false;}
return true;
}

public void function1(int id){
Toast.makeText(this, "function 1 called", Toast.LENGTH_SHORT).show();
}
public void function2(int id){
Toast.makeText(this, "function 2 called", Toast.LENGTH_SHORT).show();
}


/* Class My Location Listener Code Start For GPS Example Code */

public class MyLocationListener implements LocationListener

{

public void onLocationChanged(Location location)

{

/*loc.getLatitude();

loc.getLongitude();

String Text = "My current location is:" +

"Latitud = " + loc.getLatitude() +

"Longitud = " + loc.getLongitude();

Toast.makeText( getApplicationContext(),Text,Toast.LENGTH_SHORT).show();*/


if (location != null) {
GeoPoint point = new GeoPoint(
(int) (location.getLatitude() * 1E6),
(int) (location.getLongitude() * 1E6));

/* Toast.makeText(getBaseContext(),
"Latitude: " + location.getLatitude() +
" Longitude: " + location.getLongitude(),
Toast.LENGTH_SHORT).show();*/

mapController.animateTo(point);
mapController.setZoom(16);

// add marker
MapOverlay1 mapOverlay = new MapOverlay1();
mapOverlay.setPointToDraw(point);
List<Overlay> listOfOverlays = map.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);

String address = ConvertPointToLocation(point);
Toast.makeText(getBaseContext(), address, Toast.LENGTH_SHORT).show();

map.invalidate();
}


}


public void onProviderDisabled(String provider)

{

Toast.makeText( getApplicationContext(),

"Gps Disabled",

Toast.LENGTH_SHORT ).show();

}


public void onProviderEnabled(String provider)

{

Toast.makeText( getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show();

}


public void onStatusChanged(String provider, int status, Bundle extras)

{

}

}


class MapOverlay1 extends Overlay
{
private GeoPoint pointToDraw;

public void setPointToDraw(GeoPoint point) {
pointToDraw = point;
}

public GeoPoint getPointToDraw() {
return pointToDraw;
}

@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) {
super.draw(canvas, mapView, shadow);

// convert point to pixels
Point screenPts = new Point();
mapView.getProjection().toPixels(pointToDraw, screenPts);

// add marker
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pin_red);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y - 24, null); // 24 is the height of image
return true;
}
}

public String ConvertPointToLocation(GeoPoint point) {
String address = "";
Geocoder geoCoder = new Geocoder(
getBaseContext(), Locale.getDefault());
try {
List<Address> addresses = geoCoder.getFromLocation(
point.getLatitudeE6() / 1E6,
point.getLongitudeE6() / 1E6, 1);

if (addresses.size() > 0) {
for (int index = 0; index < addresses.get(0).getMaxAddressLineIndex(); index++)
address += addresses.get(0).getAddressLine(index) + " ";
}
}
catch (IOException e) {
e.printStackTrace();
}

return address;
}

/* End of Class MyLocationListener Code End For GPS Example Code*/


public void onStatusChanged(String provider, int status, Bundle extras) {
/* This is called when the GPS status alters */
switch (status) {
case LocationProvider.OUT_OF_SERVICE:
Log.v(tag, "Status Changed: Out of Service");
Toast.makeText(this, "Status Changed: Out of Service",
Toast.LENGTH_SHORT).show();
break;
case LocationProvider.TEMPORARILY_UNAVAILABLE:
Log.v(tag, "Status Changed: Temporarily Unavailable");
Toast.makeText(this, "Status Changed: Temporarily Unavailable",
Toast.LENGTH_SHORT).show();
break;
case LocationProvider.AVAILABLE:
Log.v(tag, "Status Changed: Available");
Toast.makeText(this, "Status Changed: Available",
Toast.LENGTH_SHORT).show();
break;
}
}

@Override
public void onResume() {
super.onResume();

me.enableCompass();
}

@Override
public void onPause() {
super.onPause();

me.disableCompass();
}

@Override
protected boolean isRouteDisplayed() {
return (false);
}

private InputStream getConnection(String url) {

InputStream is = null;

try {

URLConnection conn = new URL(url).openConnection();
is = conn.getInputStream();

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}
return is;
}

/***
* This method is called when press a particular key on the device keyboard.
*/
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_S) {
map.setSatellite(!map.isSatellite());
return (true);
} else if (keyCode == KeyEvent.KEYCODE_Z) {
map.displayZoomControls(true);
return (true);
}

return (super.onKeyDown(keyCode, event));
}

/****
*
* Returns the geopoint location by taking latitude and longitude as input
* parameters
*
* @return
*/
private GeoPoint getPoint(double lat, double lon) {

return (new GeoPoint((int) (lat * 1000000.0), (int) (lon * 1000000.0)));

}

/***
*
* This method is used to add marker to the particular location. ie to show
* some basic information about that particular location
*
*/
private class SitesOverlay extends ItemizedOverlay<OverlayItem> {

private List<OverlayItem> items = new ArrayList<OverlayItem>();
private Drawable marker = null;

public SitesOverlay(Drawable marker) {

super(marker);
this.marker = marker;
boundCenterBottom(marker);

OverlayItem ol = null;
OverlayItem ol1 = null;
String friend_Name1 = "";
String friend_Name2 = "";
Drawable friend_Image = null;

ol = new OverlayItem(getPoint(fromLat, fromLon), "", "" + friend_Name1 + "");
ol.setMarker(marker);
ol.getTitle();
items.add(ol);

// marker.setBounds(-20, -20, 20, 30);
ol1 = new OverlayItem(getPoint(toLat, toLon), "", "" + friend_Name2 + "");
ol1.setMarker(marker);
ol1.getTitle();
items.add(ol1);

populate();
}

@Override
protected OverlayItem createItem(int i) {
return (items.get(i));
}

@Override
protected boolean onTap(int i) {
Toast.makeText(RootMapActivity.this, items.get(i).getSnippet(), Toast.LENGTH_SHORT).show();
return (true);
}

@Override
public int size() {
return (items.size());
}
}

public boolean onCreateOptionsMenu(Menu menu) {
boolean supRetVal = super.onCreateOptionsMenu(menu);
menu.add(0, 0, 0, "Satellite");
menu.add(0, 1, 1, "Street");
return supRetVal;
}

/***
* This method is called when user clicked on menu options
*/
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
map.setSatellite(true);
return true;
case 1:
map.setSatellite(false);
return true;
}
return false;
}

public int maxLong = 0, maxLat = 0, minLat = 2147483647, minLong = 2147483647;

public int getSpanLong() {
return maxLong - minLong;
}

public int getSpanLat() {
return maxLat - minLat;
}

/**
* create context menu
*/
@Override
protected Dialog onCreateDialog(int id) {
if (id == CONTEXT_MENU_ID) {
return iconContextMenu.createMenu("Caj Austur");
}
return super.onCreateDialog(id);
}

@Override
public void onDismiss(DialogInterface arg0) {
// TODO Auto-generated method stub

}

@Override
public void onCancel(DialogInterface arg0) {
// TODO Auto-generated method stub

}


class MapOverlay extends Overlay {

Road mRoad;
ArrayList<GeoPoint> mPoints;

private GeoPoint pointToDraw;

public void setPointToDraw(GeoPoint point) {
pointToDraw = point;
}

public GeoPoint getPointToDraw() {
return pointToDraw;
}

public MapOverlay(Road road, MapView mv) {

mRoad = road;

if (road.mRoute.length > 0) {

mPoints = new ArrayList<GeoPoint>();

for (int i = 0; i < road.mRoute.length; i++) {

mPoints.add(new GeoPoint((int) (road.mRoute[i][1] * 1000000),(int) (road.mRoute[i][0] * 1000000)));
}

int moveToLat = (mPoints.get(0).getLatitudeE6() + (mPoints.get(mPoints.size() - 1)
.getLatitudeE6() - mPoints.get(0).getLatitudeE6()) / 2);

int moveToLong = (mPoints.get(0).getLongitudeE6() + (mPoints.get(mPoints.size() - 1)
.getLongitudeE6() - mPoints.get(0) .getLongitudeE6()) / 2);

GeoPoint moveTo = new GeoPoint(moveToLat, moveToLong);
MapController mapController = mv.getController();
mapController.animateTo(moveTo);
mapController.setZoom(7);
}
}

public boolean draw(Canvas canvas, MapView mv, boolean shadow, long when) {

super.draw(canvas, mv, shadow);
drawPath(mv, canvas);
return true;

}

public void drawPath(MapView mv, Canvas canvas) {

int x1 = -1, y1 = -1, x2 = -1, y2 = -1;
Paint paint = new Paint();
paint.setColor(Color.GREEN);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(3);

for (int i = 0; i < mPoints.size(); i++) {

Point point = new Point();
mv.getProjection().toPixels(mPoints.get(i), point);
x2 = point.x;
y2 = point.y;
if (i > 0)
{
canvas.drawLine(x1, y1, x2, y2, paint);
}
x1 = x2;
y1 = y2;
}
}

}

}

================================================================
RoadProvider.java:--

public class RoadProvider {

//http://code.google.com/p/j2memaprouteprovider/source/browse/#svn%2Ftrunk%2FJ2MEMapRouteAndroidEx%2Fres

public static Road getRoute(InputStream is) {

KMLHandler handler = new KMLHandler();

try {

SAXParser parser = SAXParserFactory.newInstance().newSAXParser();

parser.parse(is, handler);

} catch (ParserConfigurationException e) {

e.printStackTrace();

} catch (SAXException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return handler.mRoad;

}



public static String getUrl(double fromLat, double fromLon, double toLat, double toLon)
{
// connect to map web service

StringBuffer urlString = new StringBuffer();

urlString.append("http://maps.google.com/maps?f=d&hl=en");

urlString.append("&saddr=");// from

urlString.append(Double.toString(fromLat));

urlString.append(",");

urlString.append(Double.toString(fromLon));

urlString.append("&daddr=");// to

urlString.append(Double.toString(toLat));

urlString.append(",");

urlString.append(Double.toString(toLon));

urlString.append("&ie=UTF8&0&om=0&output=kml");

return urlString.toString();

}

}



class KMLHandler extends DefaultHandler {

Road mRoad;

boolean isPlacemark;

boolean isRoute;

boolean isItemIcon;

private Stack mCurrentElement = new Stack();

private String mString;



public KMLHandler() {

mRoad = new Road();

}



public void startElement(String uri, String localName, String name,

Attributes attributes) throws SAXException {

mCurrentElement.push(localName);

if (localName.equalsIgnoreCase("Placemark")) {

isPlacemark = true;

mRoad.mPoints = addPoint(mRoad.mPoints);

} else if (localName.equalsIgnoreCase("ItemIcon")) {

if (isPlacemark)

isItemIcon = true;

}

mString = new String();

}



public void characters(char[] ch, int start, int length)

throws SAXException {

String chars = new String(ch, start, length).trim();

mString = mString.concat(chars);

}



public void endElement(String uri, String localName, String name)

throws SAXException {

if (mString.length() > 0) {

if (localName.equalsIgnoreCase("name")) {

if (isPlacemark) {

isRoute = mString.equalsIgnoreCase("Route");

if (!isRoute) {

mRoad.mPoints[mRoad.mPoints.length - 1].mName = mString;

}

} else {

mRoad.mName = mString;

}

} else if (localName.equalsIgnoreCase("color") && !isPlacemark) {

mRoad.mColor = Integer.parseInt(mString, 16);

} else if (localName.equalsIgnoreCase("width") && !isPlacemark) {

mRoad.mWidth = Integer.parseInt(mString);

} else if (localName.equalsIgnoreCase("description")) {

if (isPlacemark) {

String description = cleanup(mString);

if (!isRoute)

mRoad.mPoints[mRoad.mPoints.length - 1].mDescription = description;

else

mRoad.mDescription = description;

}

} else if (localName.equalsIgnoreCase("href")) {

if (isItemIcon) {

mRoad.mPoints[mRoad.mPoints.length - 1].mIconUrl = mString;

}

} else if (localName.equalsIgnoreCase("coordinates")) {

if (isPlacemark) {

if (!isRoute) {

String[] xyParsed = split(mString, ",");

double lon = Double.parseDouble(xyParsed[0]);

double lat = Double.parseDouble(xyParsed[1]);

mRoad.mPoints[mRoad.mPoints.length - 1].mLatitude = lat;

mRoad.mPoints[mRoad.mPoints.length - 1].mLongitude = lon;

} else {

String[] coodrinatesParsed = split(mString, " ");

mRoad.mRoute = new double[coodrinatesParsed.length][2];

for (int i = 0; i < coodrinatesParsed.length; i++) {

String[] xyParsed = split(coodrinatesParsed[i], ",");

for (int j = 0; j < 2 && j < xyParsed.length; j++)

mRoad.mRoute[i][j] = Double

.parseDouble(xyParsed[j]);

}

}

}

}

}

mCurrentElement.pop();

if (localName.equalsIgnoreCase("Placemark")) {

isPlacemark = false;

if (isRoute)

isRoute = false;

} else if (localName.equalsIgnoreCase("ItemIcon")) {

if (isItemIcon)

isItemIcon = false;

}

}



private String cleanup(String value) {

String remove = "<br/>";

int index = value.indexOf(remove);

if (index != -1)

value = value.substring(0, index);

remove = " ";

index = value.indexOf(remove);

int len = remove.length();

while (index != -1) {

value = value.substring(0, index).concat(

value.substring(index + len, value.length()));

index = value.indexOf(remove);

}

return value;

}



public Point[] addPoint(Point[] points) {

Point[] result = new Point[points.length + 1];

for (int i = 0; i < points.length; i++)

result[i] = points[i];

result[points.length] = new Point();

return result;

}



private static String[] split(String strString, String strDelimiter) {

String[] strArray;

int iOccurrences = 0;

int iIndexOfInnerString = 0;

int iIndexOfDelimiter = 0;

int iCounter = 0;

if (strString == null) {

throw new IllegalArgumentException("Input string cannot be null.");

}

if (strDelimiter.length() <= 0 || strDelimiter == null) {

throw new IllegalArgumentException(

"Delimeter cannot be null or empty.");

}

if (strString.startsWith(strDelimiter)) {

strString = strString.substring(strDelimiter.length());

}

if (!strString.endsWith(strDelimiter)) {

strString += strDelimiter;

}

while ((iIndexOfDelimiter = strString.indexOf(strDelimiter,

iIndexOfInnerString)) != -1) {

iOccurrences += 1;

iIndexOfInnerString = iIndexOfDelimiter + strDelimiter.length();

}

strArray = new String[iOccurrences];

iIndexOfInnerString = 0;

iIndexOfDelimiter = 0;

while ((iIndexOfDelimiter = strString.indexOf(strDelimiter,

iIndexOfInnerString)) != -1) {

strArray[iCounter] = strString.substring(iIndexOfInnerString,

iIndexOfDelimiter);

iIndexOfInnerString = iIndexOfDelimiter + strDelimiter.length();

iCounter += 1;

}



return strArray;

}

}

================================================================
Maps.xml:--

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/topLayout">


<RelativeLayout android:background="@drawable/strip_wt"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/maintopBorderid">

<Button
android:id="@+id/mapsbackbuttonid"
android:layout_width="80dip"
android:layout_height="50dip"
android:text="Back"
android:layout_gravity="center"
android:layout_marginTop="5dip"

android:layout_alignParentLeft="true"/>

<Button
android:id="@+id/mapsmenubuttonid"
android:layout_width="80dip"
android:layout_height="50dip"
android:text="Menu"
android:layout_marginTop="5dip"
android:layout_gravity="center"
android:layout_alignParentRight="true"/>

</RelativeLayout><!--

<TextView android:id="@+id/id1" android:layout_width="fill_parent"
android:layout_height="wrap_content" />

<TextView android:id="@+id/id2" android:layout_width="fill_parent"
android:layout_height="wrap_content" /> -->

<com.google.android.maps.MapView
android:id="@+id/map" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:apiKey="0jdybpABAFu3OTQbWpwOIroM5TOODOdKaxKcnRg"
android:clickable="true">

</com.google.android.maps.MapView>
</LinearLayout>

====================================================================

Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.murali.cajastur"
android:versionCode="1"
android:versionName="1.0.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".Splash" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- android:theme="@android:style/Theme.NoTitleBar" For Removiing The Title Bar of Application -->
<activity android:name=".RootMapActivity" android:theme="@android:style/Theme.NoTitleBar"/>
<activity android:name=".Menu" android:theme="@android:style/Theme.NoTitleBar"/>
<activity android:name=".Other" android:theme="@android:style/Theme.NoTitleBar"/>
<activity android:name=".TheAuthor" android:theme="@android:style/Theme.NoTitleBar"/>
<activity android:name="com.murali.cajastur.TheBook" android:theme="@android:style/Theme.NoTitleBar"/>

<uses-library android:name="com.google.android.maps" />
</application>

<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!-- <uses-permission android:name="android.permission.INTERNET" /> -->

</manifest>
muralimoida
Once Poster
Once Poster
 
Posts: 1
Joined: Thu Dec 01, 2011 2:17 pm

Top

Return to SDK/ADT/Emulator Problems

Who is online

Users browsing this forum: Yahoo [Bot] and 8 guests