日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

在android studio中如何创建一个类来继承另外一个类_在Android使用Transition API检测用户活动...

發布時間:2023/12/10 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在android studio中如何创建一个类来继承另外一个类_在Android使用Transition API检测用户活动... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在當今世界,移動設備是我們日常生活中必不可少的一部分,我們在走路、跑步、開車以及其他許多活動時都會使用移動設備。

了解用戶拿著手機的時候在做什么,可以讓你的應用程序根據用戶的動作進行直觀的調整。對于某些應用程序,確定用戶何時開始或停止某個特定活動可能是必要的。例如,一個應用程序可以在用戶開始跑步的時候在后臺啟動音樂,或者計算燃燒的卡路里數。

在今天的文章中,我們將學習如何在Android中檢測和識別用戶活動,這樣,你的應用程序將在與用戶交互方面更加智能化,并能夠提供高度定制的體驗。

為此,我們將使用Activity Recognition Transition API。這個庫建立在可用的設備傳感器(陀螺儀、加速計等)上,以高精度檢測用戶活動的變化。此外,也許最重要的是,它消耗更少的電力。

本篇文章假定你已有使用Kotlin和AndroidX構建安卓應用程序的經驗.

項目設置

首先在Android Studio中創建一個新項目,或者打開一個現有的項目,在其中添加活動識別功能。

首先要配置的是依賴項。在應用程序的build.gradle文件添加如下行:

首先要配置的是依賴項。在應用程序的build.gradle文件添加如下行:

dependencies {//.... other dependenciesimplementation "com.google.android.gms:play-services-location:17.0.0"implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0' }

接下來,在AndroidManifest.xml添加權限:

接下來,在AndroidManifest.xml添加權限:

<!-- Required for 28 and below --> <uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" /><!-- Required for 29+. --> <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />

注意:在API 29及以上,您需要動態請求權限。

活動類型

Transition API使您能夠檢測到用戶的多種活動類型—下面是列表:

  • IN_VEHICLE: 表示設備在車內
  • ON_BICYCLE: 表示設備在自行車上
  • RUNNING: 表示設備用戶在跑步
  • ON_FOOT: 表示設備用戶正在走路或者跑步
  • STILL: 表示設備沒有在移動
  • WALKING: 表示設備用戶在走路

API還讓您知道特定的活動是即將開始還是即將結束。這由轉換類型表示:

  • ACTIVITY_TRANSITION_ENTER: 用戶開始特定活動
  • ACTIVITY_TRANSITION_EXIT: 用戶推出特定活動

在接下來的幾節中,我們需要知道我們要查找的類型和活動名稱。

建立一個API請求

為了告訴API要監控哪些活動,我們需要事先知道活動名稱和轉換類型。然后,我們創建一個ActivityTransition對象的列表,并從這個列表中創建activityTransitionRequest對象來構造請求。

下面我們來看看如何實現這一點:

val

接收結果

在繼續之前,我們需要設置一個地方來接收API的更新。例如,一個更新可以是用戶進入IN_VEHICLE,即進入車內活動。

我們可以通過使用BroadcastReceiver類來實現這一點。我們通過擴展BroadcastReceiver類來創建所需的類,然后重寫onReceive()方法以從API接收更新。

在onReceive()方法中,我們在檢測到活動后執行所需的操作—可以向用戶發送通知,也可以啟動后臺服務—實際上由您來決定檢測到指定活動后如何做。

以下是我們的BroadcastReceiver的實現:

import

我們使用兩個輔助函數activityType和transitionType將整數常量轉換為字符串。

連接組件

現在,我們有了一個接收器可以處理API發送的更新,我們可以告訴API從哪里發送。具體步驟如下:

首先,我們創建一個Intent,使用我們定義的變量RECEIVER_ACTION作為參數。

接著,我們從廣播接收器和上面的intent創建一個PendingIntent。

val

在這之后,我們創建一個我們的接收器的實例,并把它注冊到LocalBroadcastManager中,使用我們指定的RECEIVER_ACTION作為IntentFilter。

receiver

讓我進一步解釋一下這一步。我們知道,BroadcastReceiver可以接收和響應來自其他應用程序或系統的廣播消息。但是要做到這一點,首先需要注冊這個接收器,我們在上面的代碼中使用LocalBroadcastManager進行注冊。

當我們注冊一個廣播接收器時,我們還需要指定響應什么,換句話說,要監聽和響應什么事件。我們用自定義的行為RECEIVER_ACTION構建IntentFilter來實現這一點。

作為最后一步,我們請求ActivityRecognition API使用前面創建的PendingIntent和ActivityTransitionRequest進行更新。

val

以下是前面步驟的完整代碼片段:

// creating the pending intent

停止跟蹤

在某個時間點,如果您想取消并停止來自API的更新,可以在onStop()或onDestroy()方法,或者在您認為有必要停止跟蹤的任何位置執行此操作。

我們需要做兩件事來停止識別活動:

  • 注銷接收器以停止接收傳入數據。
  • 告訴API從我們的接收器中刪除更新。

下面的topActivityRecognition()-您可以定義并在必要時調用:

private

結論

我們在本文中看到了如何檢測你的用戶的行為,并根據需要作出響應。您可以使用這個強大的API為用戶提供高度可定制和身臨其境的體驗。

原文鏈接

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的在android studio中如何创建一个类来继承另外一个类_在Android使用Transition API检测用户活动...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。