デバイスが車両、自転車、ウォーキング、ランニングで移動している、または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 サービスを使用してデバイスのアクティビティを検出する方法は?