Я пытался перехватить намерение Google Maps следующим образом:
Intent myIntent = new Intent (android.content.Intent.ACTION_VIEW, Uri.parse ("geo: 37.423156, -122.084917"));
но я не нашел ни одного примера, ссылки или документации по этому вопросу. Итак, я думаю, что, к сожалению, это невозможно.
В файле манифеста я поместил несколько фильтров намерений. Особенно я думаю, что следующий фильтр намерений должен совпадать с упомянутым намерением.
<intent-filter>
<action android:name="android.content.Intent.ACTION_VIEW" />
<data android:scheme="geo"/>
</intent-filter>
Кроме того, я попытался выяснить, какие действия соответствуют этому конкретному намерению, с помощью:
List resolves = getPackageManager().queryIntentActivities(myIntent, 0 );
ResolveInfo firstRevolve=(ResolveInfo) resolves.get(0);
IntentFilter myIF=firstRevolve.filter;
Тем не менее, только MapsActivity совпадает с намерением, а не с моим Activity, и удивительно, что myIF имеет значение null, поэтому я не могу получить фильтр намерений, который используется в деятельности карт Google.
Кроме того, я установил «Intent Intercept» из Android Market, но он не фиксирует это намерение.
Итак, мне нужна помощь / идея. Кто-нибудь знает, что происходит? По моему мнению, Google ограничивает этот перехват, но это ограничение не указано.
Любая помощь будет оценена.
С наилучшими пожеланиями,
Пабло.