当前位置: 首页>>代码示例>>Java>>正文


Java TvContract.buildChannelsUriForInput方法代码示例

本文整理汇总了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;
}
 
开发者ID:nejtv,项目名称:androidtv-sample,代码行数:26,代码来源:TvContractUtils.java

示例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;
    }
}
 
开发者ID:trevd,项目名称:android_packages_apps_tv,代码行数:24,代码来源:ChannelUtils.java

示例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<>();
}
 
开发者ID:trevd,项目名称:android_packages_apps_tv,代码行数:15,代码来源:ChannelDataManager.java

示例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;
}
 
开发者ID:Fleker,项目名称:ChannelSurfer,代码行数:33,代码来源:TvContractUtils.java

示例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;
}
 
开发者ID:Fleker,项目名称:ChannelSurfer,代码行数:41,代码来源:TvInputProvider.java

示例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);


}
 
开发者ID:seventhmoon,项目名称:hktv-android,代码行数:29,代码来源:HktvTvInputSetupActivity.java

示例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;
}
 
开发者ID:googlesamples,项目名称:androidtv-sample-inputs,代码行数:38,代码来源:TvContractUtils.java

示例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);
}
 
开发者ID:trevd,项目名称:android_packages_apps_tv,代码行数:7,代码来源:TestTvInputSetupActivity.java


注:本文中的android.media.tv.TvContract.buildChannelsUriForInput方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。