Nexus 5X 電話を使用しており、Google Awareness API HeadphoneFence.unplugged() https://developers.google.com/android/reference/com/google/android/gms/awareness/fence/HeadphoneFenceを試しています。
フェンスが最初に追加されたときに保留中のインテントが起動することがわかりました。その後、ヘッドフォンを差し込んだり抜いたりしても、プラグを抜くためだけに起動すると思われる場合でも起動します。
私のコードはガイドから直接出てきたものなので、それほど興味はありません。
Awareness.FenceApi.updateFences(
getGoogleApiClient(),
new FenceUpdateRequest.Builder()
.addFence(
"something",
HeadphoneFence.unplugging();,
createSendHeadphoneUnpluggedMessagePendingIntent(context))
.build())
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(@NonNull Status status) {
if(status.isSuccess()) {
Log.i(TAG, "Headphone unplugged fence was successfully registered.");
} else {
Log.e(TAG, "Headphone unplugged fence could not be registered: " + status);
}
}
});