ワンセグ概要

【APIの説明】

ワンセグ起動Intentについて

このIntentはワンセグ用の拡張IFです。
ワンセグ起動Intentを用いることで開発するアプリから、ワンセグテレビの起動や予約登録処理、録画/視聴予約画面の起動を行うことができます。

Intent通知について

ワンセグのIntentは、以下の3種類があります。

○ワンセグテレビの起動Intent
ワンセグテレビを起動します。起動するには以下のIntentを指定し起動します。

パラメータ Action
データ型 String
定数名 jp.co.sharp.android.oneseg.view.action.RUN
通知データ項目 -
データの範囲 -
パラメータ Extra
データ型 int
定数名 jp.co.sharp.android.oneseg.EXTRA_KEY_CHANNEL_NO
通知データ項目 物理チャンネル番号
データの範囲 13~62

○予約登録処理のIntent
予約種別、物理チャンネル番号、開始日時、終了日時、番組名の情報をもとに予約を行います。
指定する情報が不正な値の場合には登録できない旨のPOPUPを表示します。
予約登録処理を行うには以下のIntentを指定し起動します。

パラメータ Action
データ型 String
定数名 jp.co.sharp.android.oneseg.reservation.action.INSERT
通知データ項目 -
データの範囲 -
パラメータ Extra
データ型 int
定数名 jp.co.sharp.android.oneseg.EXTRA_KEY_RESERVATION_TYPE
通知データ項目 予約種別
データの範囲 0:視聴予約、1:録画予約
パラメータ Extra
データ型 int
定数名 jp.co.sharp.android.oneseg.EXTRA_KEY_RESERVATION_CHANNEL_NO
通知データ項目 物理チャンネル番号
データの範囲 13~62
パラメータ Extra
データ型 long
定数名 jp.co.sharp.android.oneseg.EXTRA_KEY_RESERVATION_START_DATE
通知データ項目 開始日時
データの範囲 java.util.Date#getTime()で取得できる時刻値。
有効値は、年月日時分
有効範囲は、現在時刻から「2100/12/31 23:58」までとなります。
パラメータ Extra
データ型 long
定数名 jp.co.sharp.android.oneseg.EXTRA_KEY_RESERVATION_END_DATE
通知データ項目 終了日時
データの範囲 java.util.Date#getTime()で取得できる時刻値。
有効値は、年月日時分
有効範囲は、現在時刻から「2100/12/31 23:59」までとなります。
パラメータ Extra
データ型 String
定数名 jp.co.sharp.android.oneseg.EXTRA_KEY_RESERVATION_PROGRAM_NAME
通知データ項目 番組名
データの範囲 番組名の指定は任意、指定がない場合は空欄で登録。
使用不可文字は空白文字に変換。
使用可能文字数は全角/半角にかかわらず40文字。オーバーする場合、41文字以降は切り捨て登録を行います。

○録画/視聴予約画面の起動Intent
予約内容を一覧で表示します。録画/視聴予約画面を起動するには以下のIntentを指定し起動します。

パラメータ Action
データ型 String
定数名 jp.co.sharp.android.oneseg.reservation.action.VIEW
通知データ項目 -
データの範囲 -

【APIの使い方】

ワンセグテレビの起動(物理チャンネル番号「20」の場合)

Intent newIntent = new Intent();
// ワンセグ起動用のActionを設定
newIntent.setAction("jp.co.sharp.android.oneseg.view.action.RUN");
// 起動したいチャンネル番号
newIntent.putExtra("jp.co.sharp.android.oneseg.EXTRA_KEY_CHANNEL_NO", 20);
 
startActivity(newIntent);

予約登録処理の実施(開始日時「現在時間より10分後」、終了日時「現在時間より20分後」に録画予約をする場合)

Calendar start = Calendar.getInstance();
Calendar end = Calendar.getInstance();
start.add(Calendar.MINUTE, 10);
end.add(Calendar.MINUTE, 20);
 
Intent newIntent = new Intent();
// ワンセグ予約用のAction指定
newIntent.setAction("jp.co.sharp.android.oneseg.reservation.action.INSERT");
// 予約種別  ここでは1なので 1:録画予約
newIntent.putExtra("jp.co.sharp.android.oneseg.EXTRA_KEY_RESERVATION_TYPE", 1);
// 予約したいチャンネル番号
newIntent.putExtra("jp.co.sharp.android.oneseg.EXTRA_KEY_RESERVATION_CHANNEL_NO", 20);
// 開始時間を設定
newIntent.putExtra("jp.co.sharp.android.oneseg.EXTRA_KEY_RESERVATION_START_DATE", start.getTimeInMillis());
// 終了時間を設定
newIntent.putExtra("jp.co.sharp.android.oneseg.EXTRA_KEY_RESERVATION_END_DATE", end.getTimeInMillis());
// 番組名称を設定(任意)
newIntent.putExtra("jp.co.sharp.android.oneseg.EXTRA_KEY_RESERVATION_PROGRAM_NAME", "番組名称");
 
startActivity(newIntent);

録画/視聴予約画面の起動

Intent newIntent = new Intent();
//ワンセグの予約画面用のAction指定
newIntent.setAction("jp.co.sharp.android.oneseg.reservation.action.VIEW");
 
startActivity(newIntent);

【その他の特記事項】

ワンセグをサポートしていない端末

ワンセグを搭載していない端末で、本Intentを使用してのワンセグ起動はできません。 

エミュレータでの動作について

エミュレータでサンプルアプリを起動した際、このIntentに反応するのはワンセグのダミーアプリのため、実際の視聴はできません。
また、エミュレータ上のダミーアプリは予約の登録/削除は出来ますが予約の編集、実際の予約動作を行うことはできません。
実際のワンセグアプリの動作は、ワンセグ起動Intentに対応した端末にてご確認ください。

このページの先頭へ