本文整理汇总了Java中android.media.tv.TvContract.buildChannelsUriForInput方法的典型用法代码示例。如果您正苦于以下问题:Java TvContract.buildChannelsUriForInput方法的具体用法?Java TvContract.buildChannelsUriForInput怎么用?Java TvContract.buildChannelsUriForInput使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.media.tv.TvContract
的用法示例。
在下文中一共展示了TvContract.buildChannelsUriForInput方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: buildChannelMap
import android.media.tv.TvContract; //导入方法依赖的package包/类
public static LongSparseArray<XmlTvParser.XmlTvChannel> buildChannelMap(
ContentResolver resolver, String inputId, List<XmlTvParser.XmlTvChannel> channels) {
Uri uri = TvContract.buildChannelsUriForInput(inputId);
String[] projection = {
TvContract.Channels._ID,
TvContract.Channels.COLUMN_DISPLAY_NUMBER
};
LongSparseArray<XmlTvParser.XmlTvChannel> channelMap = new LongSparseArray<>();
try (Cursor cursor = resolver.query(uri, projection, null, null, null)) {
if (cursor == null || cursor.getCount() == 0) {
return null;
}
while (cursor.moveToNext()) {
long channelId = cursor.getLong(0);
String channelNumber = cursor.getString(1);
channelMap.put(channelId, getChannelByNumber(channelNumber, channels));
}
} catch (Exception e) {
Log.d(TAG, "Content provider query: " + Arrays.toString(e.getStackTrace()));
return null;
}
return channelMap;
}
示例2: queryChannelInfoMapForTvInput
import android.media.tv.TvContract; //导入方法依赖的package包/类
/**
* Query and return the map of (channel_id, ChannelInfo).
* See: {@link ChannelInfo#fromCursor(Cursor)}.
*/
@WorkerThread
public static Map<Long, ChannelInfo> queryChannelInfoMapForTvInput(
Context context, String inputId) {
Uri uri = TvContract.buildChannelsUriForInput(inputId);
Map<Long, ChannelInfo> map = new HashMap<>();
String[] projections = new String[ChannelInfo.PROJECTION.length + 1];
projections[0] = Channels._ID;
System.arraycopy(ChannelInfo.PROJECTION, 0, projections, 1, ChannelInfo.PROJECTION.length);
try (Cursor cursor = context.getContentResolver()
.query(uri, projections, null, null, null)) {
if (cursor != null) {
while (cursor.moveToNext()) {
map.put(cursor.getLong(0), ChannelInfo.fromCursor(cursor));
}
}
return map;
}
}
示例3: ChannelDataManager
import android.media.tv.TvContract; //导入方法依赖的package包/类
public ChannelDataManager(Context context) {
mContext = context;
mInputId = TvContract.buildInputId(new ComponentName(mContext.getPackageName(),
TunerTvInputService.class.getName()));
mChannelsUri = TvContract.buildChannelsUriForInput(mInputId);
mTunerChannelMap = new ConcurrentHashMap<>();
mTunerChannelIdMap = new ConcurrentSkipListMap<>();
mHandlerThread = new HandlerThread("TvInputServiceBackgroundThread");
mHandlerThread.start();
mHandler = new Handler(mHandlerThread.getLooper(), this);
mIsScanning = new AtomicBoolean();
mScannedChannels = new ConcurrentSkipListSet<>();
mPreviousScannedChannels = new ConcurrentSkipListSet<>();
}
示例4: buildChannelMap
import android.media.tv.TvContract; //导入方法依赖的package包/类
public static LongSparseArray<Channel> buildChannelMap(ContentResolver resolver,
String inputId, List<Channel> channels) {
Uri uri = TvContract.buildChannelsUriForInput(inputId);
String[] projection = {
TvContract.Channels._ID,
TvContract.Channels.COLUMN_DISPLAY_NUMBER
};
LongSparseArray<Channel> channelMap = new LongSparseArray<>();
Cursor cursor = null;
try {
cursor = resolver.query(uri, projection, null, null, null);
if (cursor == null || cursor.getCount() == 0) {
return null;
}
while (cursor.moveToNext()) {
long channelId = cursor.getLong(0);
Log.d(TAG, "BUILD CHANNELS FOR "+channelId);
String channelNumber = cursor.getString(1);
channelMap.put(channelId, getChannelByNumber(channelNumber, channels));
}
} catch (Exception e) {
Log.d(TAG, "Content provider query: " + e.getStackTrace());
return null;
} finally {
if (cursor != null) {
cursor.close();
}
}
return channelMap;
}
示例5: getCurrentChannels
import android.media.tv.TvContract; //导入方法依赖的package包/类
/**
* Goes into the TV guide and obtains the channels currently registered
* @return An ArrayList of channels
*/
public List<Channel> getCurrentChannels(Context mContext) {
try {
ApplicationInfo app = getApplicationContext().getPackageManager().getApplicationInfo(getApplicationContext().getPackageName(), PackageManager.GET_META_DATA);
Bundle bundle = app.metaData;
final String service = bundle.getString("TvInputService");
String channels = TvContract.buildInputId(new ComponentName(getPackageName(), service.substring(getPackageName().length())));
Uri channelsQuery = TvContract.buildChannelsUriForInput(channels);
Log.d(TAG, channels + " " + channelsQuery.toString());
List<Channel> list = new ArrayList<>();
Cursor cursor = null;
try {
cursor = mContext.getContentResolver().query(channelsQuery, null, null, null, null);
while(cursor != null && cursor.moveToNext()) {
Channel channel = new Channel()
.setNumber(cursor.getString(cursor.getColumnIndex(TvContract.Channels.COLUMN_DISPLAY_NUMBER)))
.setName(cursor.getString(cursor.getColumnIndex(TvContract.Channels.COLUMN_DISPLAY_NAME)))
.setOriginalNetworkId(cursor.getInt(cursor.getColumnIndex(TvContract.Channels.COLUMN_ORIGINAL_NETWORK_ID)))
.setTransportStreamId(cursor.getInt(cursor.getColumnIndex(TvContract.Channels.COLUMN_TRANSPORT_STREAM_ID)))
.setServiceId(cursor.getInt(cursor.getColumnIndex(TvContract.Channels.COLUMN_SERVICE_ID)))
.setVideoHeight(1080)
.setVideoWidth(1920)
.setPrograms(getPrograms(getApplicationContext(),
TvContract.buildChannelUri(cursor.getInt(cursor.getColumnIndex(TvContract.Channels._ID)))));
list.add(channel);
}
} finally {
if (cursor != null) {
cursor.close();
}
}
return list;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return null;
}
示例6: registerChannels
import android.media.tv.TvContract; //导入方法依赖的package包/类
private void registerChannels() {
// Check if we already registered channels.
Uri uri = TvContract.buildChannelsUriForInput(mInputId);
Cursor cursor = null;
try {
cursor = getContentResolver().query(uri, null, null, null, null);
if (cursor != null && cursor.getCount() > 0) {
return;
}
} finally {
if (cursor != null) {
cursor.close();
}
}
ContentValues values = new ContentValues();
values.put(TvContract.Channels.COLUMN_INPUT_ID, mInputId);
// Register channel 1-1.
values.put(TvContract.Channels.COLUMN_DISPLAY_NUMBER, CHANNEL_1_NUMBER);
values.put(TvContract.Channels.COLUMN_DISPLAY_NAME, CHANNEL_1_NAME);
values.put(TvContract.Channels.COLUMN_ORIGINAL_NETWORK_ID, CHANNEL_1_ORIG_NETWORK_ID);
values.put(TvContract.Channels.COLUMN_TRANSPORT_STREAM_ID, CHANNEL_1_TRANSPORT_STREAM_ID);
values.put(TvContract.Channels.COLUMN_SERVICE_ID, CHANNEL_1_SERVICE_ID);
getContentResolver().insert(TvContract.Channels.CONTENT_URI, values);
}
示例7: buildChannelMap
import android.media.tv.TvContract; //导入方法依赖的package包/类
/**
* Builds a map of available channels.
*
* @param resolver Application's ContentResolver.
* @param inputId The ID of the TV input service that provides this TV channel.
* @return LongSparseArray mapping each channel's {@link TvContract.Channels#_ID} to the
* Channel object.
* @hide
*/
public static LongSparseArray<Channel> buildChannelMap(@NonNull ContentResolver resolver,
@NonNull String inputId) {
Uri uri = TvContract.buildChannelsUriForInput(inputId);
LongSparseArray<Channel> channelMap = new LongSparseArray<>();
Cursor cursor = null;
try {
cursor = resolver.query(uri, Channel.PROJECTION, null, null, null);
if (cursor == null || cursor.getCount() == 0) {
if (DEBUG) {
Log.d(TAG, "Cursor is null or found no results");
}
return null;
}
while (cursor.moveToNext()) {
Channel nextChannel = Channel.fromCursor(cursor);
channelMap.put(nextChannel.getId(), nextChannel);
}
} catch (Exception e) {
Log.d(TAG, "Content provider query: " + Arrays.toString(e.getStackTrace()));
return null;
} finally {
if (cursor != null) {
cursor.close();
}
}
return channelMap;
}
示例8: updateChannelsBrowsable
import android.media.tv.TvContract; //导入方法依赖的package包/类
private static void updateChannelsBrowsable(ContentResolver contentResolver, String inputId) {
Uri uri = TvContract.buildChannelsUriForInput(inputId);
ContentValues values = new ContentValues();
values.put(TvContract.Channels.COLUMN_BROWSABLE, 1);
contentResolver.update(uri, values, null, null);
}