android-track-demo
HT 轨迹跟踪sdk的demo
前述
配置搭建AndroidSDK工程
工程配置方法
配置工程时,如果需要轨迹跟踪sdk对服务进行保活,需要额外增加配置。具体见下。
非保活的配置和使用方法
如果不需要sdk对轨迹跟踪服务进行保活,配置和使用方法如下
step1 AndroidManifest配置
<!-- 权限配置请见demo,此处忽略 -->
<application
android:name=".App" <!-- 如果需要保活,则.App必须继承AMapTrackAPP -->
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name">
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="您的key" <!-- AMap的key -->
/>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- 定位服务 -->
<service
android:name="com.amap.api.location.APSService"
android:process=":process1"/>
<!-- 轨迹跟踪服务 -->
<service
android:name="com.amap.locmonitorsdk.AMapTrackService"
android:process=":process1">
<intent-filter>
<action android:name="com.amap.amlib.DestService"/>
</intent-filter>
</service>
</application>
step2 引入jar包
必须包含 libs/AMapTrack_v0.1_20170911.jar。
启动轨迹跟踪
// 生成AMapTrackOption
AMapTrackOption option = new AMapTrackOption("电话号码", "车牌号");
// 生成AMapTrackManager
AMapTrackManager mTrackManager = AMapTrackManager.newInstance(option);
// 注册监听器
mTrackManager.addTrackListener(new AMapTrackListener() {
@Override
public void onTrackStart(int errCode , String msg){
//定位上报开始
}
@Override
public void onFail(int errCode, String msg) {
//上报过程中的错误信息。不影响后续的定位上报
}
@Override
public void onTrackFinish(int errCode, String msg) {
//定位上报结束。一般为保单结束时,告知用户
}
});
//开始轨迹上报
mTrackManager.startTrack(context)
//停止轨迹上报
mTrackManager.stopTrack(context)
保活的配置和使用方法
step1 AndroidManifest配置
<!-- 权限配置请见demo,此处忽略 -->
<application
android:name=".App" <!-- 如果需要保活,则.App必须继承AMapTrackAPP -->
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name">
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="您的key" <!-- AMap的key -->
/>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- 定位服务 -->
<service
android:name="com.amap.api.location.APSService"
android:process=":process1"/>
<!-- 轨迹跟踪服务 -->
<service
android:name="com.amap.locmonitorsdk.AMapTrackService"
android:process=":process1">
<intent-filter>
<action android:name="com.amap.amlib.DestService"/>
</intent-filter>
</service>
<!-- 保活相关声明, 如果不需要sdk进行保活,则此处的配置可忽略 -->
<!-- 轨迹跟踪服务服务和receiver -->
<receiver
android:name="com.amap.locmonitorsdk.daemons.AMapTrackReceiver"
android:process=":process1"/>
<service
android:name="com.amap.locmonitorsdk.daemons.AMapTrackService2"
android:process=":process2"/>
<receiver
android:name="com.amap.locmonitorsdk.daemons.AMapTrackReceiver2"
android:process=":process2"/>
<!-- AccountManager Declaration -->
<provider
android:name="com.amap.amlib.AMContentProvider"
android:authorities="@string/account_auth_provider"
android:exported="false"
android:process=":process1"
android:syncable="true"/>
<service
android:name="com.amap.amlib.AMSyncService"
android:process=":process1"
android:exported="true">
<intent-filter>
<action
android:name="android.content.SyncAdapter"/>
</intent-filter>
<meta-data
android:name="android.content.SyncAdapter"
android:resource="@xml/sync_adapter"/>
</service>
<service
android:name="com.amap.amlib.AMAuthService"
android:process=":process1"
android:exported="true">
<intent-filter>
<action
android:name="android.accounts.AccountAuthenticator"/>
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator"/>
</service>
<!-- end of AccountManager Declaration-->
<!-- end of 保活相关声明 -->
</application>
step2 引入jar包
- 必须包含 libs/AMapTrack_v0.1_20170911.jar。
- 需要引入libs/XXX/libdaemon_api20.so 和libs/XXX/libdaemon_api21.so ,同时引入assets/XXX/daemon (gradle的配置方法请见demo)
启动轨迹跟踪
// 生成AMapTrackOption , 第三个参数需要设置为true。其余均相同
AMapTrackOption option = new AMapTrackOption("电话号码", "车牌号", true);
......