Можно ли начать намерение с приемника вещания? - PullRequest
1 голос
/ 28 января 2011

Я пытаюсь запустить картографическое приложение, когда приходит SMS с координатами карты.У меня настроен приемник вещания без проблем, и, насколько я понимаю, мне нужно сделать что-то вроде:

                Uri uri = Uri.parse("geo:" + latitude  + "," + longitude +"?z=10");
                Intent mapintent = new Intent(android.content.Intent.ACTION_VIEW, uri);
                startActivity(mapintent);

, но Eclipse говорит мне, что startActivity не определено для типа BroadcastReceiver.Как мне начать намерение?

Ответы [ 3 ]

4 голосов
/ 28 января 2011

startActivity() относится к классу Context, вам просто нужно использовать экземпляр Context. Вы получаете один метод onReceive().

2 голосов
/ 29 января 2011

Для полноты:

Как сказал mbaird (и Eugene), используйте контекст из действия, переданного в OnCreate () - окончательное решение выглядит так:

Uri uri = Uri.parse("geo:" + latitude  + "," + longitude +"?z=10");

Intent mapintent = new Intent(android.content.Intent.ACTION_VIEW, uri);

mapintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(mapintent);
1 голос
/ 28 января 2011

У вас должен быть экземпляр Context где-то рядом.В контексте есть метод startActivity, который вы можете использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...