标签:
由于最近的项目中需要在第三方应用中直接打开高德地图的电子狗页面,在高德开发者论坛找了一遍无果之后,只能自己反编译高德地图来找了,现在记录下来方便大家有类似需求时可以直接找到,这样就不需要反编译了。
高德地图有一些非常方便的特色功能,我们可以直接在第三方应用中打开高德地图的这些特色功能页面方便大家使用,前提是手机上必须要安装高德地图。
首先反编译高德地图的APK得到AndroidMainfest.xml文件:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="558" android:versionName="7.5.8.2099" android:installLocation="0" package="com.autonavi.minimap" //得到高德地图的包名 platformBuildVersionCode="23" platformBuildVersionName="6.0-2166767" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" > </uses-sdk> <uses-permission android:name="android.permission.INTERNET" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" > </uses-permission> <uses-permission android:name="android.permission.CAMERA" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" > </uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" > </uses-permission> <uses-permission android:name="android.permission.READ_CONTACTS" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" > </uses-permission> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" > </uses-permission> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" > </uses-permission> <uses-permission android:name="android.permission.VIBRATE" > </uses-permission> <uses-permission android:name="android.permission.WRITE_SMS" > </uses-permission> <uses-permission android:name="android.permission.SEND_SMS" > </uses-permission> <uses-permission android:name="android.permission.READ_SMS" > </uses-permission> <uses-permission android:name="android.permission.RECORD_AUDIO" > </uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE" > </uses-permission> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" > </uses-permission> <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" > </uses-permission> <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" > </uses-permission> <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" > </uses-permission> <uses-permission android:name="com.autonavi.permission.ACCESS_LOCATION" > </uses-permission> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" > </uses-permission> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" > </uses-permission> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" > </uses-permission> <uses-permission android:name="com.google.android.launcher.permission.INSTALL_SHORTCUT" > </uses-permission> <uses-permission android:name="com.google.android.launcher.permission.UNINSTALL_SHORTCUT" > </uses-permission> <uses-permission android:name="com.google.android.launcher.permission.READ_SETTINGS" > </uses-permission> <uses-permission android:name="android.permission.READ_LOGS" > </uses-permission> <uses-permission android:name="android.permission.GET_TASKS" > </uses-permission> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_FIND_LOCATION" > </uses-permission> <uses-permission android:name="android.permission.WRITE_SETTINGS" > </uses-permission> <uses-permission android:name="android.permission.WAKE_LOCK" > </uses-permission> <uses-permission android:name="android.permission.BROADCAST_PACKAGE_ADDED" > </uses-permission> <uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" > </uses-permission> <uses-permission android:name="android.permission.BROADCAST_PACKAGE_INSTALL" > </uses-permission> <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" > </uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE" > </uses-permission> <uses-permission android:name="android.permission.RESTART_PACKAGES" > </uses-permission> <uses-permission android:name="android.permission.GET_ACCOUNTS" > </uses-permission> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" > </uses-permission> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" > </uses-permission> <uses-feature android:name="android.hardware.camera" > </uses-feature> <uses-permission android:name="android.permission.BLUETOOTH" > </uses-permission> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" > </uses-permission> <uses-permission android:name="com.sec.android.provider.badge.permission.READ" > </uses-permission> <uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" > </uses-permission> <uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS" > </uses-permission> <uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT" > </uses-permission> <uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE" > </uses-permission> <uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT" > </uses-permission> <uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE" > </uses-permission> <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" > </uses-permission> <uses-permission android:name="com.huawei.authentication.HW_ACCESS_AUTH_SERVICE" > </uses-permission> <uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS" > </uses-permission> <uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS" > </uses-permission> <supports-screens android:anyDensity="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" > </supports-screens> <application android:theme="@7F08003C" android:label="@7F060000" android:icon="@7F020B08" android:name="com.autonavi.minimap.MapApplication" android:allowBackup="false" android:vmSafeMode="true" android:hardwareAccelerated="true" > <meta-data android:name="com.amap.api.v2.apikey" android:value="1a98a360b75f848b606520319ebeb2ad" > </meta-data> <meta-data android:name="APP_ID" android:value="fd6d7b6f19cbe680" > </meta-data> <meta-data android:name="dependence" android:value="com.autonavi.mine,com.autonavi.user,com.autonavi.push" > </meta-data> <activity android:theme="@7F080072" android:name="com.autonavi.plugin.app.HostActivity" android:exported="false" android:configChanges="0x000004A0" > <intent-filter > <action android:name="action.plugin.Activity" > </action> <category android:name="android.intent.category.DEFAULT" > </category> </intent-filter> </activity> <activity android:theme="@7F08003D" android:label="@7F060000" android:name="com.autonavi.map.common.activity.DataFreeLowActivity" android:screenOrientation="1" android:configChanges="0x000000A0" > </activity> <activity android:theme="@7F08003D" android:label="@7F060000" android:name="com.autonavi.minimap.OnInstallErrorListenerImpl$InstallErrorActivity" android:process=":installerror" android:screenOrientation="1" android:configChanges="0x000000A0" > </activity> <activity android:theme="@7F08003D" android:label="@7F060000" android:name="com.autonavi.map.activity.SplashActivity" android:screenOrientation="1" android:configChanges="0x000000A0" android:noHistory="false" > <intent-filter > <action android:name="android.intent.action.MAIN" > </action> <category android:name="android.intent.category.LAUNCHER" //这个是LAUNCHER页面,可以看到这个页面下有许多供第三方应用调用的Data项 > </category> </intent-filter> <intent-filter > <action android:name="android.intent.action.VIEW" > </action> <category android:name="android.intent.category.DEFAULT" > </category> <category android:name="android.intent.category.BROWSABLE" > </category> <data android:scheme="androidamap" android:host="navi" > </data> </intent-filter> <intent-filter > <action android:name="android.intent.action.VIEW" > </action> <category android:name="android.intent.category.DEFAULT" > </category> <category android:name="android.intent.category.BROWSABLE" > </category> <data android:scheme="androidamap"//这个就是我们要用到的URI了 android:host="openFeature" > </data> </intent-filter> <intent-filter > <action android:name="android.intent.action.VIEW" > </action> <category android:name="android.intent.category.DEFAULT" > </category> <category android:name="android.intent.category.BROWSABLE" > </category> <data android:scheme="androidamap" android:host="poi" > </data> </intent-filter> <intent-filter > <action android:name="com.autonavi.minimap.ACTION" > </action> <action android:name="android.intent.action.VIEW" > </action> <data android:scheme="geo" > </data> <data android:scheme="pois" > </data> <data android:scheme="wechatnav" > </data> <category android:name="android.intent.category.DEFAULT" > </category> </intent-filter> <intent-filter > <action android:name="com.autonavi.minimap.ACTION" > </action> <action android:name="android.intent.action.VIEW" > </action> <category android:name="android.intent.category.DEFAULT" > </category> <category android:name="android.intent.category.BROWSABLE" > </category> <data android:scheme="http" android:host="maps.google.com" > </data> <data android:scheme="http" android:host="maps.google.cn" > </data> <data android:scheme="http" android:host="ditu.google.cn" > </data> <data android:scheme="http" android:host="10.2.134.117" > </data> <data android:scheme="http" android:host="ditu.google.com" > </data> </intent-filter> <intent-filter > <action android:name="android.intent.action.VIEW" > </action> <category android:name="android.intent.category.DEFAULT" > </category> <category android:name="android.intent.category.BROWSABLE" > </category> <data android:scheme="http" android:host="wb.amap.com" > </data> <data android:scheme="http" android:host="amap.com" > </data> <data android:scheme="http" android:host="mo.amap.com" > </data> <data android:scheme="http" android:host="dypx.amap.com" > </data> <data android:scheme="http" android:host="surl.test.myamap.com" > </data> <data android:scheme="http" android:host="f.amap.com" > </data> </intent-filter> <intent-filter > <action android:name="android.intent.action.VIEW" > </action> <category android:name="android.intent.category.DEFAULT" > </category> <data android:mimeType="vnd.android.cursor.item/postal-address" > </data> </intent-filter> <intent-filter > <action android:name="android.intent.action.VIEW" > </action> <category android:name="android.intent.category.DEFAULT" > </category> <data android:mimeType="vnd.android.cursor.item/postal-address_v2" > </data> </intent-filter> <intent-filter > <action android:name="android.intent.action.VIEW" > </action> <category android:name="android.intent.category.DEFAULT" > </category> <category android:name="android.intent.category.BROWSABLE" > </category> <data android:scheme="androidamap" android:host="showTraffic" > </data> <data android:scheme="androidamap" android:host="viewMap" > </data> <data android:scheme="androidamap" android:host="indoorMap" > </data> <data android:scheme="androidamap" android:host="myLocation" > </data> <data android:scheme="androidamap" android:host="bus" > </data> <data android:scheme="androidamap" android:host="arroundpoi" > </data> <data android:scheme="androidamap" android:host="route" > </data> <data android:scheme="androidamap" android:host="keywordNavi" > </data> <data android:scheme="androidamap" android:host="viewReGeo" > </data> <data android:scheme="androidamap" android:host="viewGeo" > </data> <data android:scheme="androidamap" android:host="viewPOIDetail" > </data> <data android:scheme="androidamap" android:host="shorturl" > </data> <data android:scheme="androidamap" android:host="discovery" > </data> <data android:scheme="androidamap" android:host="hotelList" > </data> <data android:scheme="androidamap" android:host="groupbuyList" > </data> <data android:scheme="androidamap" android:host="movieList" > </data> <data android:scheme="androidamap" android:host="movieDetail" > </data> <data android:scheme="androidamap" android:host="groupbuyDetail" > </data> <data android:scheme="androidamap" android:host="navi2SpecialDest" > </data> <data android:scheme="androidamap" android:host="rootmap" > </data> <data android:scheme="androidamap" android:host="openTrafficRemind" > </data> <data android:scheme="androidamap" android:host="multiPointShow" > </data> </intent-filter> </activity> <activity android:theme="@7F08003B" android:name="com.autonavi.map.activity.NewMapActivity" android:launchMode="2" android:configChanges="0x40000DB4" android:alwaysRetainTaskState="true" android:windowSoftInputMode="0x00000020" > <intent-filter > <action android:name="com.autonavi.minimap.ACTION" > </action> <data android:scheme="navi" > </data> <category android:name="android.intent.category.DEFAULT" > </category> </intent-filter> <intent-filter > <action android:name="INTENT_ACTION_TAXISHORT" > </action> <category android:name="android.intent.category.DEFAULT" > </category> </intent-filter> </activity> <activity android:name="com.autonavi.gdtaojin.camera.CameraActivity" android:screenOrientation="1" android:configChanges="0x400004B0" > </activity> <activity android:name="com.autonavi.map.search.fragment.ChannelDetailFragment" > <meta-data android:name="action" android:value="plugin.search.ChannelDetailFragment" > </meta-data> </activity> <activity android:theme="@7F080041" android:label=" " android:name="com.autonavi.minimap.wxapi.WXEntryActivity" android:exported="true" android:screenOrientation="2" android:configChanges="0x000000A0" > </activity> <activity android:theme="@android:01030006" android:name="com.autonavi.minimap.sys.setting.ProcessPhotoActivity" android:screenOrientation="2" android:configChanges="0x000000C0" android:windowSoftInputMode="0x00000020" > </activity> <activity android:theme="@7F08003A" android:name="com.autonavi.minimap.UserGuideActivity" android:launchMode="2" android:screenOrientation="1" > </activity> <activity android:name="com.autonavi.minimap.basemap.errorback.DoorAddressUpload" android:screenOrientation="2" android:windowSoftInputMode="0x00000010" > </activity> <activity android:theme="@7F08003F" android:name="com.autonavi.map.shortcut.view.ShortcutActivity" android:taskAffinity="com.autonavi.minimap.shortcut" android:screenOrientation="1" > <intent-filter > <action android:name="android.intent.action.MAIN" > </action> </intent-filter> </activity> <activity android:theme="@android:01030010" android:name="com.tencent.connect.common.AssistActivity" android:configChanges="0x000004A0" > </activity> <activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="2" android:configChanges="0x000004A0" android:noHistory="true" > <intent-filter > <action android:name="android.intent.action.VIEW" > </action> <category android:name="android.intent.category.DEFAULT" > </category> <category android:name="android.intent.category.BROWSABLE" > </category> <data android:scheme="tencent100571486" > </data> </intent-filter> </activity> <activity android:name="com.alipay.sdk.app.H5PayActivity" android:exported="false" android:screenOrientation="3" android:configChanges="0x000000E0" > </activity> <activity android:name="com.alipay.sdk.auth.AuthActivity" android:exported="false" android:screenOrientation="3" android:configChanges="0x000000E0" > </activity> <receiver android:name="com.autonavi.map.intent.AmapActionBroadcastReceiver" > <intent-filter > <action android:name="com.autonavi.minimap.Intent.Action" > </action> </intent-filter> </receiver> <receiver android:name="com.amap.api.service.BootEventReceiver" > <intent-filter > <action android:name="android.intent.action.BOOT_COMPLETED" > </action> <category android:name="android.intent.category.LAUNCHER" > </category> </intent-filter> </receiver> <receiver android:name="com.ut.device.BQueryWhoHasOne" android:permission="com.ut.permission.DEVICE_STATE" android:exported="true" > <intent-filter > <action android:name="UT.QueryWhoHasOne" > </action> </intent-filter> </receiver> <receiver android:name="com.ut.device.BFoundIt" android:permission="com.ut.permission.DEVICE_STATE" android:exported="true" > <intent-filter > <action android:name="UT.FoundIT" > </action> </intent-filter> </receiver> <service android:name="com.amap.api.service.AMapService" android:enabled="true" android:exported="true" android:process=":locationservice" > </service> <service android:name="com.autonavi.common.impl.BackgroundService" > </service> <service android:name="com.alipay.android.app.MspService" > </service> <service android:name="com.autonavi.minimap.route.bus.navi.BusRideRemindService" > </service> <service android:name="com.autonavi.minimap.route.foot.footnavi.FootNaviService" android:priority="1000" > </service> <service android:name="com.autonavi.minimap.route.car.navi.CarNaviService" > </service> <activity android:name="com.autonavi.minimap.basemap.msgbox.MessageBoxMainPage" > <meta-data android:name="action" android:value="plugin.minimap.MsgBox" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.route.car.traffic.TrafficRemindFragment" > <meta-data android:name="action" android:value="plugin.minimap.TrafficRemind" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.traffic.TrafficBoardFragment" > <meta-data android:name="action" android:value="plugin.minimap.TrafficBoard" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.myProfile.CarIllegalDlg" > <meta-data android:name="action" android:value="plugin.minimap.CarIllegal" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.myProfile.MyUsefulAddressFragment" > <meta-data android:name="action" android:value="plugin.minimap.UsefulAddress" > </meta-data> </activity> <activity android:name="com.autonavi.map.fragment.ExtendWebViewFragment" > <meta-data android:name="action" android:value="plugin.minimap.ExtendWeb" > </meta-data> </activity> <activity android:name="com.autonavi.map.fragment.NormalWebFragment" > <meta-data android:name="action" android:value="plugin.minimap.NormalWeb" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.life.order.base.fragment.MyOrderFragment" > <meta-data android:name="action" android:value="plugin.minimap.MyOrder" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.life.weekend.view.WeekendHappyMainFragment" > <meta-data android:name="action" android:value="plugin.minimap.WeekendHappy" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.life.travelchannel.view.TravelChannelGuideFragment" > <meta-data android:name="action" android:value="plugin.minimap.TravelGuide" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.route.car.traffic.TrafficEDogFragment" > <meta-data android:name="action" android:value="plugin.minimap.TrafficEDog" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.life.movie.fragment.MovieDetailFragment" > <meta-data android:name="action" android:value="plugin.minimap.MovieDetailFragment" > </meta-data> </activity> <activity android:name="com.autonavi.map.setting.AddNaviShortcutFragment" > <meta-data android:name="action" android:value="plugin.minimap.NaviShortcut" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.life.coupon.fragment.CouponListDlg" > <meta-data android:name="action" android:value="plugin.minimap.Coupon" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.activities.ActivitiesFragment" > <meta-data android:name="action" android:value="plugin.minimap.activities" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.drivepage.fragment.DrivePageMainFragment" android:screenOrientation="1" > <meta-data android:name="action" android:value="plugin.minimap.drive" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.drivepage.fragment.DrivePageDetailFragment" > <meta-data android:name="action" android:value="plugin.minimap.drive.detail" > </meta-data> </activity> <activity android:name="com.autonavi.map.search.fragment.SearchFragment" > <meta-data android:name="action" android:value="plugin.minimap.search.searchinput" > </meta-data> </activity> <activity android:name="com.autonavi.map.search.fragment.SinglePoiOnMap" > <meta-data android:name="action" android:value="plugin.minimap.search.singlepoionmap" > </meta-data> </activity> <activity android:name="com.autonavi.map.search.fragment.SearchFromArroundFragment" > <meta-data android:name="action" android:value="plugin.minimap.search.searchfromarround" > </meta-data> </activity> <activity android:name="com.autonavi.map.search.fragment.ThirdPartWebFragment" > <meta-data android:name="action" android:value="plugin.minimap.search.thirdpartyweb" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.save.fragment.SaveFragment" > <meta-data android:name="action" android:value="plugin.minimap.save.main" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.save.fragment.SaveSearchFragment" > <meta-data android:name="action" android:value="plugin.minimap.save.search" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.save.fragment.SaveDuplicateConfirmFragment" > <meta-data android:name="action" android:value="plugin.minimap.save.duplicateconfirm" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.selectpoi.fragment.SelectPoiFromMapFragment" > <meta-data android:name="action" android:value="plugin.minimap.search.selectpoifrommap" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.route.taxi.fragment.TaxiMapFragment" > <meta-data android:name="action" android:value="plugin.minimap.taxi.taximap" > </meta-data> </activity> <activity android:name="com.autonavi.map.fragment.common.LicenseConfirmFragment" > <meta-data android:name="action" android:value="plugin.minimap.common.licenseconfirm" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.route.car.quicknaviwidget.QuickAutoNaviFragment" > <meta-data android:name="action" android:value="plugin.minimap.quicknavi" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.route.car.quicknaviwidget.QuickAutonNaviSettingFragment" > <meta-data android:name="action" android:value="plugin.minimap.quicknavi.navisetting" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.route.subway.SubwayCityListFragment" > <meta-data android:name="action" android:value="plugin.minimap.SubwayCityList" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.life.hotel.fragment.HotelReserveMoreFragment" > <meta-data android:name="action" android:value="plugin.life.HotelReserveMoreFragment" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.route.common.fragment.RouteFragment" > <meta-data android:name="action" android:value="plugin.minimap.RouteFragment" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.route.bus.busline.fragment.BusLineDetailFragment" > <meta-data android:name="action" android:value="plugin.minimap.BusLineDetailFragment" > </meta-data> </activity> <activity android:name="com.autonavi.map.fragment.DefaultFragment" > <meta-data android:name="action" android:value="plugin.minimap.DefaultFragment" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.life.spotguide.fragment.TravelGuideMainMapFragment" > <meta-data android:name="action" android:value="plugin.life.TravelGuideMainMapFragment" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.save.fragment.SavePointToMapFragment" > <meta-data android:name="action" android:value="plugin.save.SavePointToMapFragment" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.route.common.fragment.RouteResultFragment" > <meta-data android:name="action" android:value="plugin.minimap.RouteResultFragment" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.route.bus.busline.fragment.BusLineStationMapFragment" > <meta-data android:name="action" android:value="plugin.minimap.BusLineStationMapFragment" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.route.bus.busline.fragment.BusLineResultFragment" > <meta-data android:name="action" android:value="plugin.minimap.BusLineResultFragment" > </meta-data> </activity> <activity android:name="com.autonavi.map.search.fragment.SearchCategoryFromTipFragment" > <meta-data android:name="action" android:value="plugin.search.SearchCategoryFromTipFragment" > </meta-data> </activity> <activity android:name="com.autonavi.map.search.fragment.PoiDetailFragment" > <meta-data android:name="action" android:value="plugin.search.PoiDetailFragment" > </meta-data> </activity> <activity android:name="com.autonavi.map.switchcity.SwitchCityNodeFragment" > <meta-data android:name="action" android:value="plugin.minimap.SwitchCityNodeFragment" > </meta-data> </activity> <activity android:name="com.autonavi.map.search.fragment.SearchCallbackFragment" > <meta-data android:name="action" android:value="plugin.search.SearchCallbackFragment" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.selectpoi.fragment.SelectFixPoiFromMapFragment" > <meta-data android:name="action" android:value="plugin.selectpoi.SelectFixPoiFromMapFragment" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.activities.ExamplePictureFragment" > <meta-data android:name="action" android:value="plugin.minimap.ExamplePictureFragment" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.activities.LookOverPictureFragment" > <meta-data android:name="action" android:value="plugin.minimap.LookOverPictureFragment" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.traffic.TrafficReportDialogFragment" > <meta-data android:name="action" android:value="plugin.traffic.trafficreport" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.spring.SpringDialogFragment" > <meta-data android:name="action" android:value="plugin.minimap.spring" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.basemap.traffic.TrafficSubmitDialogFragment" > <meta-data android:name="action" android:value="plugin.traffic.trafficreportdesc" > </meta-data> </activity> <activity android:name="com.autonavi.minimap.life.audioguide.fragment.AudioGuideMapFragment" > <meta-data android:name="action" android:value="plugin.minimap.AudioGuide" > </meta-data> </activity> <receiver android:name="com.autonavi.minimap.appdownload.InstallListener" > <intent-filter > <action android:name="android.intent.action.PACKAGE_ADDED" > </action> <data android:scheme="package" > </data> </intent-filter> </receiver> <receiver android:name="com.autonavi.minimap.route.car.alarm.AlarmReceiver" android:exported="false" > <intent-filter > <action android:name="com.autonavi.deskclock.ALARM_ALERT" > </action> </intent-filter> </receiver> <receiver android:name="com.autonavi.minimap.route.car.alarm.AlarmInitReceiver" android:exported="false" > <intent-filter > <action android:name="com.autonavi.deskclock.AMAP_COMPLETED" > </action> <action android:name="android.intent.action.BOOT_COMPLETED" > </action> <action android:name="android.intent.action.TIME_SET" > </action> <action android:name="android.intent.action.TIMEZONE_CHANGED" > </action> <action android:name="android.intent.action.LOCALE_CHANGED" > </action> </intent-filter> </receiver> <receiver android:name="com.autonavi.minimap.offline.common.receiver.SdCardReceiver" > <intent-filter > <action android:name="android.intent.action.MEDIA_EJECT" > </action> <action android:name="android.intent.action.MEDIA_UNMOUNTED" > </action> <action android:name="android.intent.action.MEDIA_MOUNTED" > </action> <action android:name="android.intent.action.MEDIA_REMOVED" > </action> <action android:name="android.intent.action.MEDIA_SHARED" > </action> <data android:scheme="file" > </data> </intent-filter> </receiver> <receiver android:name="com.autonavi.minimap.WakeupReceiver" > <intent-filter > <action android:name="android.intent.action.PHONE_STATE" > </action> <action android:name="android.intent.action.NEW_OUTGOING_CALL" > </action> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" > </action> </intent-filter> </receiver> <provider android:name="com.autonavi.minimap.route.car.alarm.AlarmProvider" android:exported="false" android:authorities="com.autonavi.deskclock" > </provider> <service android:name="com.autonavi.minimap.drive.car.navi.naviwidget.AutoNaviFloatViewWidgetService" > </service> <activity android:name="com.taobao.tae.sdk.webview.BaseWebViewActivity" > </activity> <activity android:name="com.taobao.tae.sdk.ui.LoginWebViewActivity" > </activity> <activity android:name="com.taobao.tae.sdk.ui.TradeWebViewActivity" > <intent-filter > <action android:name="COM_TAOBAO_TAE_SDK_TRADE_WEB_VIEW_ACTION" > </action> <category android:name="android.intent.category.DEFAULT" > </category> </intent-filter> </activity> <receiver android:name="com.taobao.agoo.SystemReceiver" android:process=":push" > <intent-filter > <action android:name="android.intent.action.BOOT_COMPLETED" > </action> </intent-filter> <intent-filter > <action android:name="android.net.conn.CONNECTIVITY_CHANGE" > </action> </intent-filter> <intent-filter > <action android:name="android.intent.action.PACKAGE_REMOVED" > </action> <data android:scheme="package" > </data> </intent-filter> </receiver> <receiver android:name="com.taobao.agoo.MessageReceiver" android:process=":push" > <intent-filter > <action android:name="org.agoo.android.intent.action.RECEIVE" > </action> </intent-filter> </receiver> <receiver android:name="com.taobao.agoo.ElectionReceiver" android:process=":push" > <intent-filter > <action android:name="org.agoo.android.intent.action.ELECTION_RESULT_V4" > </action> <category android:name="taobao" > </category> </intent-filter> </receiver> <receiver android:name="com.taobao.agoo.RegistrationReceiver" android:exported="false" > <intent-filter > <action android:name="com.autonavi.minimap.intent.action.COMMAND" > </action> </intent-filter> </receiver> <service android:name="com.taobao.agoo.PushService" android:exported="true" android:process=":push" > <intent-filter > <action android:name="com.autonavi.minimap.intent.action.START" > </action> </intent-filter> <intent-filter > <action android:name="com.autonavi.minimap.intent.action.COCKROACH" > </action> </intent-filter> <intent-filter > <action android:name="org.agoo.android.intent.action.PING_V4" > </action> <category android:name="taobao" > </category> </intent-filter> </service> <service android:name="com.autonavi.minimap.TaobaoIntentService" android:process=":push" > </service> <service android:name="com.taobao.agoo.TaobaoMessageIntentReceiverService" android:exported="true" android:process=":push" > <intent-filter > <action android:name="org.android.agoo.client.MessageReceiverService" > </action> </intent-filter> <intent-filter > <action android:name="org.android.agoo.client.ElectionReceiverService" > </action> </intent-filter> </service> <service android:name="com.autonavi.minimap.LeakUploadService" > </service> <service android:name="com.shenma.speechrecognition.ShenmaRecognitionService" > </service> <activity android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser" android:exported="false" android:configChanges="0x000000A0" android:windowSoftInputMode="0x00000010" > </activity> <activity android:name="com.sina.weibo.sdk.demo.WBShareActivity" android:screenOrientation="1" android:configChanges="0x000000A0" > <intent-filter > <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" > </action> <category android:name="android.intent.category.DEFAULT" > </category> </intent-filter> </activity> <service android:name="com.shenma.speechrecognition.ShenmaRecognitionService" > </service> </application> </manifest>
package com.autonavi.map.intent.dispatch;
import adh;
import android.app.Activity;
import android.app.Application;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Point;
import android.net.Uri;
import android.os.Build.VERSION;
import android.support.v4.app.Fragment;
import android.text.TextUtils;
import com.autonavi.common.Account;
import com.autonavi.common.Account.Provider;
import com.autonavi.common.CC;
import com.autonavi.common.CC.Ext;
import com.autonavi.common.Callback;
import com.autonavi.common.impl.DebugLog;
import com.autonavi.common.model.GeoPoint;
import com.autonavi.common.model.POI;
import com.autonavi.common.model.POIFactory;
import com.autonavi.common.utils.FileUtil;
import com.autonavi.common.utils.ToastHelper;
import com.autonavi.map.fragment.DefaultFragment;
import com.autonavi.map.fragment.ExtendWebViewFragment;
import com.autonavi.map.fragmentcontainer.FragmentContainer;
import com.autonavi.map.fragmentcontainer.NodeAlertDialogFragment;
import com.autonavi.map.fragmentcontainer.NodeAlertDialogFragment.Builder;
import com.autonavi.map.fragmentcontainer.NodeAlertDialogFragment.NodeDialogFragmentOnClickListener;
import com.autonavi.map.fragmentcontainer.NodeFragment;
import com.autonavi.map.fragmentcontainer.NodeFragmentBundle;
import com.autonavi.map.intent.fragment.MultiPointMapFragment;
import com.autonavi.map.manger.MapInterfaceFactory;
import com.autonavi.map.quicknavi.QuickAutoNaviFragment;
import com.autonavi.map.search.SearchUtil;
import com.autonavi.map.setting.AddNaviShortcutFragment;
import com.autonavi.map.switchcity.SwitchCityNodeFragment;
import com.autonavi.minimap.MapApplication;
import com.autonavi.minimap.basemap.activities.ActivitiesFragment;
import com.autonavi.minimap.basemap.save.fragment.SaveFragment;
import com.autonavi.minimap.basemap.subway.SubwayController;
import com.autonavi.minimap.intent.BaseMapAction;
import com.autonavi.minimap.life.shortcut.fragment.TravelHelperFragment;
import com.autonavi.minimap.map.VirtualEarthProjection;
import com.autonavi.minimap.map.vmap.Projection;
import com.autonavi.minimap.traffic.TrafficJamManager;
import com.autonavi.minimap.traffic.TrafficJamManager.1;
import com.autonavi.minimap.traffic.TrafficRemindFragment;
import com.autonavi.plugin.PluginManager;
import com.autonavi.plugin.PluginMsg;
import com.autonavi.sdk.http.app.ConfigerHelper;
import com.autonavi.sdk.log.LogManager;
import ew;
import fe;
import iu;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import pk;
import proguard.annotation.Keep;
import proguard.annotation.KeepClassMembers;
import rz;
@Keep
@KeepClassMembers
public class MainIntentDispatcher extends pk
{
  private final String HOST_CLEAR_ALL_DIALOG = "rootmap";
  private final String HOST_MULTI_POINTS = "multiPointShow";
  private final String HOST_MYLOCATION = "myLocation";
  private final String HOST_SHORTURL = "shorturl";
  private final String PAN_GOLD_URL = "http://wap.amap.com/gxd/index.html";
  private final String PARAMS_ACCOUNT = "Account";
  private final String PARAMS_CITY_SELECT = "CitySelect";
  private final String PARAMS_CLEANING = "Cleaning";
  private final String PARAMS_DIRECT_NAVI = "DirectNavigation";
  private final String PARAMS_EASYDRIVING = "EasyDriving";
  private final String PARAMS_EXTERNAL_URL = "ExternalURL";
  private final String PARAMS_FAVORITE = "Favorite";
  private final String PARAMS_OPEN_GOLD_COIN = "GoldCoin";
  private final String PARAMS_OPEN_ILLEGAL = "Illegal";
  private final String PARAMS_OPEN_QUICKNAVI = "ShortCut";
  private final String PARAMS_OPEN_TRAFFICRADIO = "TrafficRadio";
  private final String PARAMS_OPEN_TRAFFIC_OVERLAY = "OpenTraffic";
  private final String PARAMS_OPEN_VOICE_SEARCH = "VoiceSearch";
  private final String PARAMS_POI_DETAIL = "PoiDetail";
  private final String PARAMS_SPECIA_TOPIC = "SpecialTopic";
  private final String PARAMS_SUB_WAY = "Subway";
  private final String PARAMS_TRAFFICBOARD = "openTrafficTopBoard";
  private final String PARAMS_TRAFFICEDOG = "openTrafficEdog"; //打开电子狗
  private final String PARAMS_TRAFFICREMIND = "openTrafficRemind";
  private final String PARAMS_TRAFFIC_LAYERS = "Layers";
  private final String PARAMS_USER = "User";
  private final String PARAMS_WALLET = "Wallet";
  public MainIntentDispatcher(Activity paramActivity)
  {
    super(paramActivity);
  }
  private boolean doOpenFeature(Intent paramIntent)//这个是关键函数,获取参数打开各个页面的地方
  {
    Uri localUri = paramIntent.getData();
    String str = localUri.getQueryParameter("featureName");
    if (TextUtils.isEmpty(str))
      ToastHelper.showLongToast(CC.getApplication().getString(2131101427));
    do
    {
      return true;
      if (str.equalsIgnoreCase("DirectNavigation"))
      {
        doOpenFeatureDirectNavi();
        return true;
      }
      if (str.equalsIgnoreCase("CitySelect"))
      {
        doOpenFeatureCitySelect();
        return true;
      }
      if (str.equalsIgnoreCase("SpecialTopic"))
      {
        doOpenFeatureSpecialTopic();
        return true;
      }
      if ("Subway".equalsIgnoreCase(str))
      {
        openSubWay(localUri);
        return true;
      }
      if ("EasyDriving".equalsIgnoreCase(str))
      {
        doOpenFeatureEasyDriving(localUri);
        return true;
      }
      if ("Illegal".equalsIgnoreCase(str))
      {
        doOpenFeatureIllegal(localUri);
        return true;
      }
      if (str.equalsIgnoreCase("Favorite"))
      {
        doOpenFeatureFavorite();
        return true;
      }
      if (str.equalsIgnoreCase("Layers"))
      {
        doOpenFeatureTrafficReport();
        return true;
      }
      if (str.equalsIgnoreCase("ExternalURL"))
      {
        doOpenFeatureExternalUrl(localUri);
        return true;
      }
      if (str.equalsIgnoreCase("Cleaning"))
      {
        doOpenFeatureCleaning();
        return true;
      }
      if (str.equalsIgnoreCase("ShortCut"))
      {
        doOpenFeatureQuickNavi();
        return true;
      }
      if (str.equalsIgnoreCase("GoldCoin"))
      {
        doOpenFeatureGoldGoin(localUri);
        return true;
      }
      if (str.equalsIgnoreCase("TrafficRadio"))
      {
        doShowTrafficRemind(localUri);
        return true;
      }
      if (str.equalsIgnoreCase("openTrafficRemind"))
      {
        doShowTrafficRemind(localUri);
        return true;
      }
      if (str.equalsIgnoreCase("openTrafficTopBoard"))
      {
        doOpenFeatureShowTrafficTopBoard(localUri);
        return true;
      }
      if (str.equalsIgnoreCase("openTrafficEdog"))
      {
        doOpenFeatureShowTrafficEDog(localUri);
        return true;
      }
      if (str.equalsIgnoreCase("PoiDetail"))
      {
        doOpenFeatureShowPoiDetail(localUri);
        return true;
      }
      if (str.equalsIgnoreCase("VoiceSearch"))
      {
        doOpenFeatureVoiceSearch();
        return true;
      }
      if (str.equalsIgnoreCase("OpenTraffic"))
      {
        doOpenFeatureTrafficOverlay();
        return true;
      }
      if (str.equalsIgnoreCase("Account"))
      {
        doOpenFeatureAccount();
        return true;
      }
      if (str.equalsIgnoreCase("User"))
      {
        doOpenFeatureUser(localUri);
        return true;
      }
      if (str.equalsIgnoreCase("Wallet"))
      {
        doOpenFeatureWallet();
        return true;
      }
      if (!str.equalsIgnoreCase("Mine"))
        break;
    }
    while (doOpenMine(localUri));
    return false;
    return false;
  }
  private boolean doOpenMine(Uri paramUri)
  {
    String str1 = paramUri.getQueryParameter("page");
    String str2;
    boolean bool2;
    if ((!TextUtils.isEmpty(str1)) && (str1.equals("ToolBox")))
    {
      str2 = paramUri.getQueryParameter("item");
      if (!TextUtils.isEmpty(str2))
      {
        if (str2.equals("ElectronicEye"))
          openElectronicEye();
      }
      else
        bool2 = true;
    }
    boolean bool1;
    do
    {
      boolean bool3;
      do
      {
        return bool2;
        if (str2.equals("Traffic"))
        {
          openTrafficAlert();
          break;
        }
        if (str2.equals("Violation"))
        {
          openCarIllegal();
          break;
        }
        if (str2.equals("Subway"))
        {
          openSubWay(null);
          break;
        }
        if (str2.equals("Maincollect"))
        {
          openRoadCaiji();
          break;
        }
        if (str2.equals("AutonaviGold"))
        {
          openPanGold();
          break;
        }
        bool3 = str2.equals("TravelHelper");
        bool2 = false;
      }
      while (!bool3);
      openTravelHelper();
      break;
      if ((TextUtils.isEmpty(str1)) || (!str1.equals("Fortune")))
        break label229;
      bool1 = TextUtils.isEmpty(paramUri.getQueryParameter("item"));
      bool2 = false;
    }
    while (!bool1);
    ToastHelper.showLongToast(CC.getApplication().getString(2131101426));
    return true;
    label229: Intent localIntent = new Intent();
    localIntent.setPackage("com.autonavi.mine");
    localIntent.setAction("plugin.mine.Main");
    getTopFragment().startFragment(localIntent);
    return true;
  }
  private void openTravelHelper()
  {
    CC.startFragment(TravelHelperFragment.class);
  }
  public boolean dispatch(Intent paramIntent)
  {
    Uri localUri = paramIntent.getData();
    if (localUri == null);
    do
    {
      return true;
      String str = localUri.getHost();
      if ((localUri == null) || (TextUtils.isEmpty(str)))
        break label111;
      if (str.equals("myLocation"))
      {
        myLocation();
        return true;
      }
      if (str.endsWith("shorturl"))
      {
        doShortUrlScheme(localUri);
        return true;
      }
      if (str.equalsIgnoreCase("rootmap"))
      {
        removeAllFragmentsWithoutRoot();
        return true;
      }
      if (str.equalsIgnoreCase("multiPointShow"))
      {
        showMultiPoints(localUri);
        return true;
      }
      if (!str.equalsIgnoreCase("openFeature"))
        break;
    }
    while (doOpenFeature(paramIntent));
    return false;
    return false;
    label111: return false;
  }
  public void doOpenFeatureAccount()
  {
    if ("".equals(CC.getAccount().getUid()))
    {
      CC.getAccount().login(null);
      return;
    }
    Intent localIntent = new Intent("plugin.user.Profile");
    localIntent.setPackage("com.autonavi.user");
    getTopFragment().startFragment(localIntent);
  }
  public void doOpenFeatureCitySelect()
  {
    NodeFragmentBundle localNodeFragmentBundle = new NodeFragmentBundle();
    localNodeFragmentBundle.putInt("SWITCH_CITY_FOR", 1);
    startFragment(SwitchCityNodeFragment.class, localNodeFragmentBundle);
  }
  public void doOpenFeatureCleaning()
  {
    SearchUtil.showEjiajieDlg(getTopFragment());
  }
  public void doOpenFeatureDirectNavi()
  {
    startFragment(QuickAutoNaviFragment.class);
  }
  public void doOpenFeatureEasyDriving(Uri paramUri)
  {
    NodeFragment localNodeFragment = getFragmentContainer().getLastFragment();
    if ((localNodeFragment != null) && ((localNodeFragment instanceof NodeFragment)))
      SearchUtil.showEasyDriving();
  }
  public void doOpenFeatureExternalUrl(Uri paramUri)
  {
    String str = paramUri.getQueryParameter("url");
    if (!TextUtils.isEmpty(str));
    try
    {
      Uri localUri = Uri.parse(URLDecoder.decode(str, "UTF-8"));
      this.mActivity.startActivity(new Intent("android.intent.action.VIEW", localUri));
      return;
    }
    catch (Exception localException)
    {
    }
  }
  public void doOpenFeatureFavorite()
  {
    startFragment(SaveFragment.class);
  }
  public void doOpenFeatureGoldGoin(Uri paramUri)
  {
    if ("history".equals(paramUri.getQueryParameter("page")))
    {
      NodeFragmentBundle localNodeFragmentBundle1 = new NodeFragmentBundle();
      localNodeFragmentBundle1.putString("url", ConfigerHelper.getInstance().getGoldcoinUrl() + "record.html");
      localNodeFragmentBundle1.putString("thirdpart_name", "");
      localNodeFragmentBundle1.putBoolean("show_bottom_bar", false);
      localNodeFragmentBundle1.putBoolean("show_loading_anim", false);
      startFragment(ExtendWebViewFragment.class, localNodeFragmentBundle1);
      return;
    }
    NodeFragmentBundle localNodeFragmentBundle2 = new NodeFragmentBundle();
    localNodeFragmentBundle2.putString("title", CC.getApplication().getString(2131101845));
    localNodeFragmentBundle2.putString("url", ConfigerHelper.getInstance().getGoldcoinUrl() + "index.html");
    localNodeFragmentBundle2.putString("thirdpart_name", "");
    localNodeFragmentBundle2.putBoolean("show_bottom_bar", false);
    localNodeFragmentBundle2.putBoolean("show_loading_anim", false);
    startFragment(ExtendWebViewFragment.class, localNodeFragmentBundle2);
  }
  public void doOpenFeatureIllegal(Uri paramUri)
  {
    if (Build.VERSION.SDK_INT < 11)
      ToastHelper.showLongToast(CC.getApplication().getString(2131101421));
    final NodeFragment localNodeFragment;
    do
    {
      return;
      localNodeFragment = getFragmentContainer().getLastFragment();
    }
    while ((localNodeFragment == null) || (!(localNodeFragment instanceof NodeFragment)));
    if (CC.Ext.getAccountProvider().getAccount().isLogin())
    {
      ew.a((NodeFragment)localNodeFragment);
      return;
    }
    CC.Ext.getAccountProvider().getAccount().login(new Callback()
    {
      public void callback(Boolean paramAnonymousBoolean)
      {
        if (paramAnonymousBoolean.booleanValue())
          ew.a((NodeFragment)localNodeFragment);
      }
      public void error(Throwable paramAnonymousThrowable, boolean paramAnonymousBoolean)
      {
      }
    });
  }
  public void doOpenFeatureQuickNavi()
  {
    startFragment(AddNaviShortcutFragment.class);
  }
  public void doOpenFeatureShowPoiDetail(final Uri paramUri)
  {
    this.mActivity.runOnUiThread(new Runnable()
    {
      public final void run()
      {
        try
        {
          POI localPOI = POIFactory.createPOI();
          String str1 = paramUri.getQueryParameter("x");
          String str2 = paramUri.getQueryParameter("y");
          String str3 = URLDecoder.decode(paramUri.getQueryParameter("poiname"), "UTF-8");
          if (!TextUtils.isEmpty(str1))
          {
            boolean bool = TextUtils.isEmpty(str2);
            if (bool);
          }
          try
          {
            double d = Double.valueOf(str1).doubleValue();
            Point localPoint = VirtualEarthProjection.LatLongToPixels(Double.valueOf(str2).doubleValue(), d, 20);
            localPOI.setPoint(new GeoPoint(localPoint.x, localPoint.y));
            localPOI.setName(str3);
            localPOI.setId(paramUri.getQueryParameter("poiid"));
            rz.a(localPOI, 1);
            return;
          }
          catch (NumberFormatException localNumberFormatException)
          {
            localNumberFormatException.printStackTrace();
            return;
          }
        }
        catch (Exception localException)
        {
          localException.printStackTrace();
        }
      }
    });
  }
  public void doOpenFeatureShowTrafficEDog(Uri paramUri)
  {
    if (!CC.isInternetConnected())
      ToastHelper.showLongToast(MapApplication.getApplication().getString(2131102089));
    do
    {
      return;
      TrafficJamManager.a();
      TrafficJamManager.b();
    }
    while (!"trip".equalsIgnoreCase(paramUri.getQueryParameter("sourceApplication")));
    LogManager.actionLog(12406, 2);
  }
  public void doOpenFeatureShowTrafficTopBoard(Uri paramUri)
  {
    if (!CC.isInternetConnected())
    {
      ToastHelper.showLongToast(MapApplication.getApplication().getString(2131102089));
      return;
    }
    TrafficJamManager localTrafficJamManager = TrafficJamManager.a();
    MapApplication.getApplication();
    PluginMsg localPluginMsg = new PluginMsg(PluginManager.getApplication().getPackageName(), "getPageInfo");
    localPluginMsg.put("action", "plugin.minimap.TrafficBoard");
    PluginManager.sendMsg(localPluginMsg, new TrafficJamManager.1(localTrafficJamManager));
  }
  public void doOpenFeatureSpecialTopic()
  {
    startFragment(ActivitiesFragment.class);
  }
  public void doOpenFeatureTrafficOverlay()
  {
    BaseMapAction localBaseMapAction = BaseMapAction.OPEN_TRAFFIC_HELP;
    NodeFragmentBundle localNodeFragmentBundle = new NodeFragmentBundle();
    localNodeFragmentBundle.putString("key_action", "action_base_map_scheme");
    localNodeFragmentBundle.putObject("key_scheme_feature", localBaseMapAction);
    startFragment(DefaultFragment.class, localNodeFragmentBundle);
  }
  public void doOpenFeatureTrafficReport()
  {
    MapInterfaceFactory.getInstance().getReportController(CC.getTopActivity(), null).a();
  }
  public void doOpenFeatureUser(Uri paramUri)
  {
    if (!TextUtils.isEmpty(CC.getAccount().getUid()))
    {
      Intent localIntent = new Intent("plugin.user.Profile");
      localIntent.setPackage("com.autonavi.user");
      getTopFragment().startFragment(localIntent);
      return;
    }
    CC.getAccount().login(null);
  }
  public void doOpenFeatureVoiceSearch()
  {
    NodeFragment localNodeFragment = CC.getLastFragment();
    if (localNodeFragment != null)
      iu.a(localNodeFragment).c();
  }
  public void doOpenFeatureWallet()
  {
    PluginManager.sendMsg(new PluginMsg("com.autonavi.user", "openWallet"), null);
  }
  public void doShortUrlScheme(Uri paramUri)
  {
    Intent localIntent = new Intent("android.intent.action.VIEW");
    localIntent.setData(Uri.parse("http://wb.amap.com/?" + paramUri.getQuery()));
    NodeFragmentBundle localNodeFragmentBundle = new NodeFragmentBundle();
    localNodeFragmentBundle.putString("key_action", "action_base_map_scheme");
    localNodeFragmentBundle.putObject("key_scheme_feature", BaseMapAction.SHORT_URL);
    localNodeFragmentBundle.putObject("key_schema_short_url_intent", localIntent);
    startFragment(DefaultFragment.class, localNodeFragmentBundle);
  }
  public void doShowTrafficRemind(Uri paramUri)
  {
    if (!CC.isInternetConnected())
    {
      ToastHelper.showLongToast(MapApplication.getApplication().getString(2131102089));
      return;
    }
    if ("notify".equalsIgnoreCase(paramUri.getQueryParameter("sourceApplication")))
    {
      removeAllFragmentsWithoutRoot();
      LogManager.actionLog(12405, 1);
    }
    CC.startFragment(TrafficRemindFragment.class);
  }
  public void myLocation()
  {
    NodeFragmentBundle localNodeFragmentBundle = new NodeFragmentBundle();
    localNodeFragmentBundle.putString("key_action", "action_base_map_scheme");
    localNodeFragmentBundle.putObject("key_scheme_feature", BaseMapAction.MY_LOCATION);
    startFragment(DefaultFragment.class, localNodeFragmentBundle);
  }
  public void openCarIllegal()
  {
    final NodeFragment localNodeFragment = getFragmentContainer().getLastFragment();
    if ((localNodeFragment != null) && ((localNodeFragment instanceof NodeFragment)))
    {
      if (CC.Ext.getAccountProvider().getAccount().isLogin())
      {
        ew.a((NodeFragment)localNodeFragment);
        LogManager.actionLog(14100, 14);
      }
    }
    else
      return;
    CC.Ext.getAccountProvider().getAccount().login(new Callback()
    {
      public void callback(Boolean paramAnonymousBoolean)
      {
        if (paramAnonymousBoolean.booleanValue())
        {
          ew.a((NodeFragment)localNodeFragment);
          LogManager.actionLog(14100, 14);
        }
      }
      public void error(Throwable paramAnonymousThrowable, boolean paramAnonymousBoolean)
      {
      }
    });
  }
  public void openElectronicEye()
  {
    Intent localIntent = new Intent("plugin.minimap.TrafficEDog");
    localIntent.setPackage(CC.getApplication().getPackageName());
    CC.startFragment(localIntent);
  }
  public void openPanGold()
  {
    if (FileUtil.isAppInstalled("com.autonavi.gxdtaojin"))
    {
      FileUtil.launchApp(this.mActivity, "com.autonavi.gxdtaojin");
      return;
    }
    try
    {
      Intent localIntent = new Intent("android.intent.action.VIEW");
      localIntent.setData(Uri.parse("http://wap.amap.com/gxd/index.html"));
      this.mActivity.startActivity(localIntent);
      return;
    }
    catch (ActivityNotFoundException localActivityNotFoundException)
    {
      localActivityNotFoundException.printStackTrace();
    }
  }
  public void openRoadCaiji()
  {
    if (FileUtil.isAppInstalled("com.sh.caiji"))
    {
      FileUtil.launchApp(this.mActivity, "com.sh.caiji");
      return;
    }
    try
    {
      Intent localIntent = new Intent("android.intent.action.VIEW");
      localIntent.setData(Uri.parse("http://caiji.mapabc.com/"));
      this.mActivity.startActivity(localIntent);
      return;
    }
    catch (ActivityNotFoundException localActivityNotFoundException)
    {
      localActivityNotFoundException.printStackTrace();
    }
  }
  public void openSubWay(Uri paramUri)
  {
    if (paramUri == null)
    {
      SubwayController.getInstance().openSubway(this.mActivity, null);
      return;
    }
    String str = paramUri.getQueryParameter("adcode");
    SubwayController.getInstance().openSubway(this.mActivity, str);
  }
  public void openTrafficAlert()
  {
    Intent localIntent = new Intent("plugin.minimap.TrafficRemind");
    localIntent.setPackage(CC.getApplication().getPackageName());
    CC.startFragment(localIntent);
  }
  public void processShortUrl(Intent paramIntent)
  {
    NodeFragmentBundle localNodeFragmentBundle = new NodeFragmentBundle();
    localNodeFragmentBundle.putString("key_action", "action_base_map_scheme");
    localNodeFragmentBundle.putObject("key_scheme_feature", BaseMapAction.SHORT_URL);
    localNodeFragmentBundle.putObject("key_schema_short_url_intent", paramIntent);
    startFragment(DefaultFragment.class, localNodeFragmentBundle);
  }
  public void showAmapAppUpdate()
  {
    String str1 = adh.o();
    SharedPreferences localSharedPreferences = CC.getApplication().getSharedPreferences("SharedPreferences", 0);
    final String str2 = localSharedPreferences.getString("updateUrl", "");
    String str3 = localSharedPreferences.getString("updateAmapAppVersion", "");
    if ((TextUtils.isEmpty(str1)) || (TextUtils.isEmpty(str2)) || (TextUtils.isEmpty(str3)))
    {
      ToastHelper.showLongToast(CC.getApplication().getString(2131101424));
      return;
    }
    if (str1.compareTo(str3) >= 0)
    {
      ToastHelper.showLongToast(CC.getApplication().getString(2131101425));
      return;
    }
    NodeAlertDialogFragment.Builder localBuilder = new NodeAlertDialogFragment.Builder(this.mActivity);
    localBuilder.setMessage(2131101424);
    localBuilder.setTitle(2131104015);
    localBuilder.setPositiveButton(2131104017, new NodeAlertDialogFragment.NodeDialogFragmentOnClickListener()
    {
      public final void onClick(NodeAlertDialogFragment paramAnonymousNodeAlertDialogFragment)
      {
        Intent localIntent = new Intent("android.intent.action.VIEW", Uri.parse(str2));
        try
        {
          MainIntentDispatcher.this.mActivity.startActivity(localIntent);
          return;
        }
        catch (Exception localException)
        {
        }
      }
    });
    localBuilder.setNegativeButton(2131104014, new NodeAlertDialogFragment.NodeDialogFragmentOnClickListener()
    {
      public final void onClick(NodeAlertDialogFragment paramAnonymousNodeAlertDialogFragment)
      {
      }
    });
    try
    {
      CC.startAlertDialogFragment(localBuilder);
      return;
    }
    catch (Throwable localThrowable)
    {
      DebugLog.error(localThrowable);
    }
  }
  public void showMultiPoints(Uri paramUri)
  {
    String str1 = paramUri.getQueryParameter("title");
    String str2 = paramUri.getQueryParameter("q");
    String str3 = paramUri.getQueryParameter("dev");
    ArrayList localArrayList = new ArrayList();
    StringTokenizer localStringTokenizer;
    if (!TextUtils.isEmpty(str2))
      localStringTokenizer = new StringTokenizer(str2, "|");
    while (true)
    {
      String[] arrayOfString;
      if (localStringTokenizer.hasMoreTokens())
      {
        arrayOfString = localStringTokenizer.nextToken().split(",");
        if ((arrayOfString == null) || (arrayOfString.length < 3));
      }
      else
      {
        try
        {
          double d1 = Double.parseDouble(arrayOfString[0]);
          double d2 = Double.parseDouble(arrayOfString[1]);
          int i = Integer.parseInt(str3);
          GeoPoint localGeoPoint = new GeoPoint(d2, d1);
          if (i == 1)
            localGeoPoint = Projection.offsetCoordinat(localGeoPoint.x, localGeoPoint.y);
          POI localPOI = POIFactory.createPOI(arrayOfString[2], localGeoPoint);
          if (arrayOfString.length >= 4)
            localPOI.setAddr(arrayOfString[3]);
          if (arrayOfString.length >= 5)
            localPOI.setId(arrayOfString[4]);
          if (arrayOfString.length >= 6)
            localPOI.setPhone(arrayOfString[5]);
          localArrayList.add(localPOI);
          if (localArrayList.size() >= 10)
          {
            NodeFragmentBundle localNodeFragmentBundle = new NodeFragmentBundle();
            localNodeFragmentBundle.putString("key_title", str1);
            localNodeFragmentBundle.putObject("key_multi_points", localArrayList);
            startFragment(MultiPointMapFragment.class, localNodeFragmentBundle);
            return;
          }
        }
        catch (NumberFormatException localNumberFormatException)
        {
          ToastHelper.showToast(MapApplication.getApplication().getString(2131101911));
        }
      }
    }
  }
}Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName("com.autonavi.minimap", "com.autonavi.map.activity.NewMapActivity");
intent.setAction("com.autonavi.minimap.ACTION");
intent.setData(Uri.parse("androidamap://openFeature?featureName=openTrafficEdog"));//这个是直接打开电子狗页面
intent.setComponent(cn);
startActivity(intent);
标签:
原文地址:http://blog.csdn.net/zx129311/article/details/51917653