位置更新アンドロイドRequestLocationUpdates
PendingIntent pendingIntent = PendingIntent
.getBroadcast(this, 54321, intent, PendingIntent.FLAG_CANCEL_CURRENT);
LocationServices.FusedLocationApi.requestLocationUpdates(this.mGoogleApiClient,
mLocationRequest, pendingIntent);
そして、私のReceiever
public static class LocationReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
boolean hasLocation = LocationResult.hasResult(intent);
}
}
を受信したとき、私は罰金hasLocationは常に働くeveything上記のコードを実行した場合、私はBoradcastReceiverをトリガしています本当、完璧。
しかし、私はReceiverにいくつかの変数を渡したい場合ので、私は実行します。今、レシーバのLocationResult.hasResult(意図)で
Intent intent = ..
intent.putExtra("test", "hello");
PendingIntent pendingIntent = PendingIntent
.getBroadcast(this, 54321, intent, PendingIntent.FLAG_CANCEL_CURRENT);
ビット。常にfalseです
これはバグですか?これには回避策がありますか?レシーバに変数を渡すにはどうすればいいですか?
'hasResult'はtrueまたはfalseを返しますか? –
hasResultは、インテントに余分なものを入れないとTRUEを返します。 – Johny19
hasResultは常にNULLですが、ブール値を返します。それは真実か偽ですか?場合は、意図に余分を入れてください –