Вызов другого приложения с намерением убить мое работающее приложение - PullRequest
1 голос
/ 17 сентября 2011

Здравствуйте! Я использую встроенную карту Google, чтобы показать маршрут пользователю.Когда я нажимаю кнопку «Получить маршрут», я написал следующий код.

String mapURL="http://maps.google.com/mapssaddr="
+GlobleVeriable.getCurrentLocation().getLatitude()+","+GlobleVeriable.getCurrentLocation().getLongitude()+"&daddr="+restaurant.getLatitude()
+","+restaurant.getLongitude();

Intent i=new Intent("android.intent.action.VIEW",Uri.parse(mapURL));
startActivity(i); 

Этот код работает нормально, а также отображает маршрут от текущего местоположения до места назначения.мое приложение запускается с первого раза.

Может кто-нибудь подсказать мне, что делать?

Ответы [ 2 ]

1 голос
/ 17 сентября 2011

Можете ли вы попробовать код ниже

 String uri="http://maps.google.com/mapssaddr="
+GlobleVeriable.getCurrentLocation().getLatitude()+","+GlobleVeriable.getCurrentLocation().getLongitude()+"&daddr="+restaurant.getLatitude()
+","+restaurant.getLongitude();
    Intent intent = new Intent(android.content.Intent.ACTION_VIEW, uri);
                intent.setClassName("com.google.android.apps.maps",
                        "com.google.android.maps.MapsActivity");
                startActivity(intent);
1 голос
/ 17 сентября 2011

Это просто среднее поведение Android.Что вы можете сделать, это сохранить текущее состояние приложения в некоторый файл, непосредственно перед началом действия Google Maps.В резюме вы можете загрузить этот файл и восстановить приложение вручную.

Я думаю, что это единственный способ.Прошло много времени с тех пор, как я просмотрел документацию по Android.Я помню что-то вроде «... операционная система может прекратить работу вашего приложения в любое время, если оно неактивно, поэтому разработчик обязан сохранить любую конфиденциальную информацию, прежде чем приложение станет неактивным».

Я бысохранить в методе onPause () и загрузить в onResume ().

...