0

デバイスが車両、自転車、ウォーキング、ランニングで移動している、またはGoogle Playサービスライブラリを使用して移動していないなどのデバイスアクティビティを取得しようとしましたが、ActivityRecognitionResultがnullとして取得されました。

試したコードは Class1.java にあります:-

public class Class1 extends BroadcastReceiver
{
public void onReceive(Context context, Intent intent) 
{
public static String ACTION_STRING= "action";
Intent intentp = new Intent(context, Class2.class);
intentp.setAction(ACTION_STRING);
pendingIntent = PendingIntent.getBroadcast(context, 0, intentp, PendingIntent.FLAG_ONE_SHOT);
}
}

Class2.java のコード:-

public class Class2 extends BroadcastReceiver 
{

 public void onReceive(Context context, Intent intent) 
 {
        if(intent.getAction() == Alarm.ACTION_STRING)
        {
            if(ActivityRecognitionResult.hasResult(intent))   //Here condition getting as false
            {
                ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
                DetectedActivity detectedActivity = result.getMostProbableActivity();
                int activityType = detectedActivity.getType();
                if(activityType != DetectedActivity.STILL)
                {
                                 //Here doing something;
                }
            }
        }
  }
}

Google Play サービスを使用してデバイスのアクティビティを検出する方法は?

4

1 に答える 1

0

ドキュメントから:

ActivityRecognitionClient を使用するには、com.google.android.gms.permission.ACTIVITY_RECOGNITION 権限が必要です。

アプリによって適切に要求された許可ですか?

于 2013-09-29T22:06:21.993 に答える