Android 計(jì)步模塊(讀取三星S健康步數(shù))

這是計(jì)步模塊第二篇,第一篇詳細(xì)介紹了使用Android SDK自帶的計(jì)步傳感器加速度傳感器進(jìn)行計(jì)步。
第一篇介紹計(jì)步傳感器Sensor.TYPE_STEP_COUNTER可以在App關(guān)閉的時(shí)候繼續(xù)計(jì)步,但是在有些手機(jī)上不適用研究到這已經(jīng)有種想死感覺了和Android系統(tǒng)做斗爭真的太難了。
公司最新引進(jìn)一批測試機(jī)SamSung GALAXY C7,在App關(guān)閉的情況下計(jì)步傳感器是不能計(jì)步的需要保持后臺Service,但是現(xiàn)在的手機(jī)系統(tǒng)基本不要想保持后臺進(jìn)程被殺死就是時(shí)間問題,但是三星自帶的S健康模塊是系統(tǒng)級的可以拿到步數(shù)、心率等等很多信息非常全面,最主要的他是系統(tǒng)級App有系統(tǒng)進(jìn)程且現(xiàn)在新款的三星手機(jī)都會有這個(gè)S健康模塊,換句話說他的步數(shù)是最準(zhǔn)確的而且新款手機(jī)都會有,如果能獲取他的數(shù)據(jù)那三星手機(jī)計(jì)步問題基本解決80%以上了。
項(xiàng)目地址:https://github.com/jiahongfei/TodayStepCounter
第一篇地址:http://www.itdecent.cn/p/ca1e1c3ac086

獲取S鍵康數(shù)據(jù)需要的前提條件如下兩部分:

第一部分
  1. Android手機(jī)系統(tǒng)版本最低需要4.4 KitKat (API level 19)
  2. 三星健康app版本最低4.0,才支持sdk開發(fā)。
  3. 是否是Samsung health的合作伙伴app。(如果不是后面介紹測試環(huán)境)
第二部分

上面如果你還沒有申請 partner app 或者在三星批準(zhǔn)之前,三星健康app可以切換到Developer模式用來對你開發(fā)的app進(jìn)行測試。默認(rèn)情況下是未開啟的,需要你進(jìn)行開啟,操作如下:

  1. 找到三星自帶的S鍵康(三星健康)打開。
  2. 右上角更多->設(shè)置
  3. 設(shè)置->關(guān)于三星健康
  4. 連續(xù)點(diǎn)擊10次版本號,例如“SM-G9300版本5.9.1.003”點(diǎn)擊10次
  5. 如果開啟成功,版本號顯示成** "(Developer Mode)"**開頭形式的版本號,如下圖開啟成功頁面
    image.png

如上準(zhǔn)備工作都沒問題了我們接下來開始獲取S健康的步數(shù)數(shù)據(jù):

第一步下載SDK和Sample app或者我的開源項(xiàng)目.
網(wǎng)址http://developer.samsung.com/health

F06DE28A-BFC5-4F63-9538-4C49DA7FAF50.png

第二步AndroidStudio打開SimpleHealth運(yùn)行到手機(jī)上(不支持模擬器)。如果沒有獲取到S健康的步數(shù)查看logcat會報(bào)如下錯(cuò)誤

image.png

這個(gè)錯(cuò)誤的意思大概是,當(dāng)前這個(gè)app沒有在白名單上注冊。也就是說app沒有和SamSung Health不是合作關(guān)系,需要apply for partner apps(申請合作)。出現(xiàn)這個(gè)問題就是上面準(zhǔn)備工作的第二部分沒有做好,三星健康app不是開發(fā)模式,重新設(shè)置一下。

第三步后臺關(guān)閉SimpleHealth進(jìn)程,再次打開會提示如下對話框

image.png

對讀取步數(shù)進(jìn)行授權(quán)之后就可以讀取S健康的步數(shù)了如下圖
image.png

我的開源項(xiàng)目需要在三星S健康中設(shè)置:

  1. 打開三星健康->右上角更多->點(diǎn)擊設(shè)置
  2. 找到數(shù)據(jù)權(quán)限進(jìn)入
  3. 找到你的App進(jìn)入可以設(shè)置獲取三星健康的權(quán)限

SimpleHealth代碼我在這里就不做分析了,非常簡單。

我將SimpleHealth代碼整合到我的開源項(xiàng)目中,可以下載然后按照以上的配置進(jìn)行配置就可以獲取步數(shù)了
項(xiàng)目地址:https://github.com/jiahongfei/TodayStepCounter

參考文獻(xiàn)
http://developer.samsung.com/health
http://developer.samsung.com/health/data/guide#hello-health-data

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,781評論 25 709
  • 最近在項(xiàng)目中研究計(jì)步模塊,主要功能記錄當(dāng)天步數(shù),類似微信運(yùn)動,支付寶計(jì)步,咕咚今日步數(shù)。開發(fā)之前的調(diào)研工作,搜遍b...
    碼農(nóng)一顆顆閱讀 33,005評論 37 111
  • 本篇文章是計(jì)步模塊第一版V1.0.0,在運(yùn)行一段時(shí)間發(fā)現(xiàn)用戶投訴很多,計(jì)步有時(shí)不準(zhǔn)確。 對計(jì)步模塊進(jìn)行優(yōu)化V2.0...
    碼農(nóng)一顆顆閱讀 22,977評論 11 52
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • 我發(fā)現(xiàn)人若大部分時(shí)間用于獨(dú)處,將有益身心。與人為伴,即使是摯友,也很快會有厭煩或虛度光陰的感覺。我愛獨(dú)處,我發(fā)現(xiàn)...
    狂徒小任閱讀 344評論 2 2

友情鏈接更多精彩內(nèi)容