本文整理匯總了Java中com.google.android.gms.location.ActivityRecognitionResult.getMostProbableActivity方法的典型用法代碼示例。如果您正苦於以下問題:Java ActivityRecognitionResult.getMostProbableActivity方法的具體用法?Java ActivityRecognitionResult.getMostProbableActivity怎麽用?Java ActivityRecognitionResult.getMostProbableActivity使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.google.android.gms.location.ActivityRecognitionResult
的用法示例。
在下文中一共展示了ActivityRecognitionResult.getMostProbableActivity方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: onNewIntent
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
@Override
protected void onNewIntent(Intent intent) {
Log.v(TAG, "onNewIntent");
ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
//get most probable activity
DetectedActivity probably = result.getMostProbableActivity();
if (probably.getConfidence() >= 50) { //doc's say over 50% is likely, under is not sure at all.
speech(getActivityString(probably.getType()));
}
logger.append("Most Probable: " +getActivityString(probably.getType()) + " "+ probably.getConfidence()+"%\n" );
//or we could go through the list, which is sorted by most likely to least likely.
List<DetectedActivity> fulllist = result.getProbableActivities();
for (DetectedActivity da: fulllist) {
if (da.getConfidence() >=50) {
logger.append("-->" + getActivityString(da.getType()) + " " + da.getConfidence() + "%\n");
speech(getActivityString(da.getType()));
}
}
}
示例2: onHandleIntent
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
@Override
protected void onHandleIntent(Intent intent) {
if (ActivityRecognitionResult.hasResult(intent)) {
ActivityRecognitionResult result =
ActivityRecognitionResult.extractResult(intent);
DetectedActivity mostProbableActivity = result.getMostProbableActivity();
int confidence = mostProbableActivity.getConfidence();
int activityType = mostProbableActivity.getType();
long waitTime = UserSettings.getNotDrivingTime(this);
boolean diffTimeOK = (new Date().getTime() - waitTime) >= Utils.minutesToMillis(10);
if (confidence >= Utils.DETECTION_THRESHOLD && activityType == DetectedActivity.IN_VEHICLE && diffTimeOK) {
if (!CarMode.running) {
if (UserSettings.getGPS(this) && ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED)
startService(new Intent(this, SpeedService.class));
else
startService(new Intent(this, CarMode.class));
}
} else if (confidence >= Utils.DETECTION_THRESHOLD) {
stopService(new Intent(this, CarMode.class));
UserSettings.setGPSDrive(this, false);
}
}
}
示例3: onReceive
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
@Override
public void onReceive(Context context, Intent intent) {
if (ActivityRecognitionResult.hasResult(intent)) {
// Get the update
ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
// Get the most probable activity
DetectedActivity mostProbableActivity = result.getMostProbableActivity();
int confidence = mostProbableActivity.getConfidence();
int activityType = mostProbableActivity.getType();
String activityName = getNameFromType(activityType);
DataBundle b = _bundlePool.borrowBundle();
b.putInt(KEY_CONFIDENCE, confidence);
b.putString(KEY_RECOGNIZED_ACTIVITY, activityName);
b.putLong(Input.KEY_TIMESTAMP, System.currentTimeMillis());
b.putInt(Input.KEY_TYPE, getType().toInt());
post(b);
}
}
示例4: isMoving
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
/**
* Detecta si el dispositivo se encuentra en un vehículo en movimiento o no
*
* @param result resultado de la detección de actividad
* @return <code>true</code> si se encuentra en un vehículo.
*/
private boolean isMoving(ActivityRecognitionResult result) {
long currentTime = System.currentTimeMillis();
DetectedActivity mostProbableActivity = result.getMostProbableActivity();
int confidence = mostProbableActivity.getConfidence();
int type = mostProbableActivity.getType();
if ((type == ON_FOOT || type == RUNNING || type == WALKING) && confidence > 75) {
return false;
}
if (type == IN_VEHICLE && confidence > 75) {
mPreferenceUtils.setDetectionTimeMillis(currentTime);
return true;
}
if (mPreferenceUtils.wasMoving()) {
long tolerance = mPreferenceUtils.getActivityRecognitionToleranceMillis();
long lastDetectionTime = mPreferenceUtils.getDetectionTimeMillis();
long elapsedTime = currentTime - lastDetectionTime;
return elapsedTime <= tolerance;
}
return false;
}
示例5: getActivity
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
private DetectedActivity getActivity(ActivityRecognitionResult result) {
// Get the most probable activity from the list of activities in the result
DetectedActivity mostProbableActivity = result.getMostProbableActivity();
// If the activity is ON_FOOT, choose between WALKING or RUNNING
if (mostProbableActivity.getType() == DetectedActivity.ON_FOOT) {
// Iterate through all possible activities. The activities are sorted by most probable activity first.
for (DetectedActivity activity : result.getProbableActivities()) {
if (activity.getType() == DetectedActivity.WALKING || activity.getType() == DetectedActivity.RUNNING) {
return activity;
}
}
// It is ON_FOOT, but not sure if it is WALKING or RUNNING
Log.i(TAG, "Activity ON_FOOT, but not sure if it is WALKING or RUNNING.");
return mostProbableActivity;
}
else
{
return mostProbableActivity;
}
}
示例6: runOnce
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
@Override
public void runOnce() {
if (!isRunning()) {
disconnectGoogleAPI();
} else {
if (mGoogleApiClient == null) {
connectGoogleAPI();
}
updateWrapperInfo();
if (ActivityRecognitionResult.hasResult(ActivityRecognitionService.getIntent())) {
// Get the update
ActivityRecognitionResult result =
ActivityRecognitionResult.extractResult(ActivityRecognitionService.getIntent());
DetectedActivity mostProbableActivity
= result.getMostProbableActivity();
// Get the confidence % (probability)
double confidence = mostProbableActivity.getConfidence();
// Get the type
double activityType = mostProbableActivity.getType();
/* types:
* DetectedActivity.IN_VEHICLE
* DetectedActivity.ON_BICYCLE
* DetectedActivity.ON_FOOT
* DetectedActivity.STILL
* DetectedActivity.UNKNOWN
* DetectedActivity.TILTING
*/
StreamElement streamElement = new StreamElement(FIELD_NAMES, FIELD_TYPES,
new Serializable[]{activityType, confidence});
postStreamElement(streamElement);
} else {
Log.d(TAG, "No results for AndroidActivityRecognition");
}
}
}
示例7: onHandleIntent
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
/**
* Called when a new activity detection update is available.
*/
@Override
protected void onHandleIntent(Intent intent) {
//...
// If the intent contains an update
if (ActivityRecognitionResult.hasResult(intent)) {
// Get the updatenex
ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
DetectedActivity mostProbableActivity = result.getMostProbableActivity();
// Get the confidence % (probability)
int confidence = mostProbableActivity.getConfidence();
// Get the type
int activityType = mostProbableActivity.getType();
Intent sendToLoggerIntent = new Intent("com.pinsonault.androidsensorlogger.ACTIVITY_RECOGNITION_DATA");
sendToLoggerIntent.putExtra("Activity", activityType);
sendToLoggerIntent.putExtra("Confidence", confidence);
sendBroadcast(sendToLoggerIntent);
}
}
示例8: onHandleIntent
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
@Override
public void onHandleIntent(Intent intent) {
if (DEBUG) Log.d(TAG, "onHandleIntent: intent="+intent);
if (!ActivityRecognitionResult.hasResult(intent)) {
return;
}
ActivityRecognitionResult arr = ActivityRecognitionResult.extractResult(intent);
DetectedActivity mpa = arr.getMostProbableActivity();
Intent i = new Intent(Constants.ACTION_RECOGNITION);
i.putExtra(Constants.EXTRA_TYPE, mpa.getType());
i.putExtra(Constants.EXTRA_CONFIDENCE, mpa.getConfidence());
LocalBroadcastManager.getInstance(this).sendBroadcast(i);
}
示例9: onHandleIntent
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
@Override
protected void onHandleIntent(Intent intent) {
if (intent.getAction() != LocationActivity.ACTION_ACTIVITY_RECOGNITION) {
return;
}
if (ActivityRecognitionResult.hasResult(intent)) {
ActivityRecognitionResult result = ActivityRecognitionResult
.extractResult(intent);
DetectedActivity detectedActivity = result
.getMostProbableActivity();
int activityType = detectedActivity.getType();
Log.v(LocationActivity.TAG, "activity_type == " + activityType);
// Put the activity_type as an intent extra and send a broadcast.
Intent send_intent = new Intent(
LocationActivity.ACTION_ACTIVITY_RECOGNITION);
send_intent.putExtra("activity_type", activityType);
sendBroadcast(send_intent);
}
}
示例10: handleData
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
/**
* Handles new motion activity data
*
* @param userActivityResult
*/
public void handleData(ActivityRecognitionResult userActivityResult) {
probableActivities = userActivityResult.getProbableActivities();
mostProbableActivity = userActivityResult.getMostProbableActivity();
dumpData();
}
開發者ID:Telecooperation,項目名稱:assistance-platform-client-sdk-android,代碼行數:13,代碼來源:MotionActivitySensor.java
示例11: onHandleIntent
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
/**
* Handles incoming intents.
*
* @param intent The Intent is provided (inside a PendingIntent) when requestActivityUpdates()
* is called.
*/
@Override
protected void onHandleIntent(Intent intent) {
int currentActivity = DetectedActivity.UNKNOWN;
//get the message handler
Messenger messenger = null;
Bundle extras = intent.getExtras();
if (extras != null) {
messenger = (Messenger) extras.get("MESSENGER");
}
//get the activity info
ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
//get most probable activity
DetectedActivity probably = result.getMostProbableActivity();
if (probably.getConfidence() >= 50) { //doc's say over 50% is likely, under is not sure at all.
currentActivity = probably.getType();
}
Log.v(TAG, "about to send message");
if (messenger != null) {
Message msg = Message.obtain();
msg.arg1 = currentActivity;
Log.v(TAG, "Sent message");
try {
messenger.send(msg);
} catch (android.os.RemoteException e1) {
Log.w(getClass().getName(), "Exception sending message", e1);
}
}
}
示例12: onHandleIntent
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
/**
* Called when a new activity detection update is available.
*/
@Override
protected void onHandleIntent(Intent intent) {
Log.i("AS Service", "onHandleIntent: Got here!");
if (ActivityRecognitionResult.hasResult(intent)) {
// Get the update
ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
DetectedActivity mostProbableActivity = result.getMostProbableActivity();
// Get the confidence % (probability)
int confidence = mostProbableActivity.getConfidence();
// Get the type
int activityType = mostProbableActivity.getType();
// process
Intent broadcastIntent = new Intent(ACTIVITY_RECOGNITION_DATA);
broadcastIntent.putExtra(ACTIVITY, activityType);
broadcastIntent.putExtra(CONFIDENCE, confidence);
LocalBroadcastManager.getInstance(this).sendBroadcast(broadcastIntent);
Log.i("AS Service","Sent a local broardcast with the activity data.");
}
Log.i("AS", "onHandleIntent called");
}
示例13: onReceive
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
@Override
public void onReceive(Context context, Intent intent) {
if (ActivityRecognitionResult.hasResult(intent)) {
// Get the update
ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
// Get the most probable activity
DetectedActivity mostProbableActivity = result.getMostProbableActivity();
int confidence = mostProbableActivity.getConfidence();
int activityType = mostProbableActivity.getType();
String activityName = getNameFromType(activityType);
if (DEBUG)
Log.i(TAG, String.format("Recognized %s with confidence %d", activityName, confidence));
DataBundle b = _bundlePool.borrowBundle();
b.putInt(KEY_CONFIDENCE, confidence);
b.putString(KEY_RECOGNIZED_ACTIVITY, activityName);
b.putLong(Input.KEY_TIMESTAMP, System.currentTimeMillis());
b.putInt(Input.KEY_TYPE, getType().toInt());
post(b);
if (_activityRecognitionClient != null && _activityRecognitionClient.isConnected()) {
_activityRecognitionClient.removeActivityUpdates(_pendingIntent);
_activityRecognitionClient.disconnect();
_activityRecognitionClient = null;
}
}
}
示例14: onHandleIntent
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
/**
* Called when a new activity detection update is available.
*/
@Override
protected void onHandleIntent(Intent intent) {
if (ActivityRecognitionResult.hasResult(intent)) {
// Get the update
ActivityRecognitionResult result = ActivityRecognitionResult
.extractResult(intent);
// Get the most probable activity
DetectedActivity mostProbableActivity = result
.getMostProbableActivity();
/*
* Get the probability that this activity is the the user's actual
* activity
*/
int confidence = mostProbableActivity.getConfidence();
/*
* Get an integer describing the type of activity
*/
int activityType = mostProbableActivity.getType();
SharedPreferences s = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
Editor e = s.edit();
if (DetectedActivity.ON_BICYCLE == activityType){
timebiking++;
e.putInt("bikingtotal", s.getInt("bikingtotal", 0)+ 1);
e.putInt("bikingtemp", s.getInt("bikingtemp",0)+1);
}
else {
e.putInt("bikingtemp", 0);
}
e.commit();
Intent i = new Intent();
i.setAction("com.codeon.gogreen.ActivityRecieved");
i.putExtra("activity", activityType);
i.putExtra("biking", timebiking);
sendBroadcast(i);
String activityName = getNameFromType(activityType);
Log.d("com.asdar.geofence", "We are: " + activityName);
}
}
示例15: onHandleIntent
import com.google.android.gms.location.ActivityRecognitionResult; //導入方法依賴的package包/類
/**
* Called when a new activity detection update is available.
*/
@Override
protected void onHandleIntent(Intent intent) {
// If the incoming intent contains an update
if (ActivityRecognitionResult.hasResult(intent)) {
// Get the update
ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
// Get the most probable activity
DetectedActivity mostProbableActivity = result.getMostProbableActivity();
// Get the probability that this activity is the the user's actual activity
int confidence = mostProbableActivity.getConfidence();
//Get an integer describing the type of activity
int activityType = mostProbableActivity.getType();
String activityName = getNameFromType(activityType);
/*
* At this point, you have retrieved all the information
* for the current update. You can display this
* information to the user in a notification, or
* send it to an Activity or Service in a broadcast
* Intent.
*/
showNotification(confidence, activityName);
} else {
/*
* This implementation ignores intents that don't contain
* an activity update. If you wish, you can report them as
* errors.
*/
}
}