ユーザーが Google TV のセットアップ中に指定した TV プロバイダにアクセスする方法はありますか? たとえば、私の郵便番号の設定には、Comcast、Dish、DirecTV などの TV プロバイダーが含まれています。
ユーザーの TV プロバイダーも知る必要があるため、私のアプリはこのセットアップ ウィジェットを複製します。代わりに、ユーザーが既に行った設定を Google TV システムに問い合わせたいと思います。
ユーザーが Google TV のセットアップ中に指定した TV プロバイダにアクセスする方法はありますか? たとえば、私の郵便番号の設定には、Comcast、Dish、DirecTV などの TV プロバイダーが含まれています。
ユーザーの TV プロバイダーも知る必要があるため、私のアプリはこのセットアップ ウィジェットを複製します。代わりに、ユーザーが既に行った設定を Google TV システムに問い合わせたいと思います。
プロバイダーの URI が、最新の更新でcontent://com.google.android.tv.provider/devices から content://com.google.tv.mediadevicesapp.MediaDevicesProvider/devicesに変更されました
DEVICE_ID = "device_id"; // like Atsc01
LINEUP_ID = "lineup_id"; // like TMS:OTA94043
DEFAULT = "is_default"; // 0 or 1 -- Also changed from "default"
昨年のリリースノートで言及したので、ここで答えています。これはまれな使用例であるため、長期的にサポートされる保証はありません。
サービス プロバイダーの情報は取得できませんが、場所は取得できます。「静的」ロケーション プロバイダーを使用して、デバイスのセットアップ中に構成された郵便番号からロケーションを取得します。
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
Location location = locationManager.getLastKnownLocation("static");
Geocoder geocoder = new Geocoder(this);
Address address = null;
try {
address = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1).get(0);
Log.d("Zip code", address.getPostalCode());
} catch (IOException e) {
Log.e(TAG, "Geocoder error", e);
}
マニフェストには「android.permission.ACCESS_COARSE_LOCATION」パーミッションが必要です。