首页 > 学院 > 开发设计 > 正文

推荐TV内容

2019-11-09 18:54:05
字体:
来源:转载
供稿:网友


推荐TV内容

原文:Android Leanback示例代码。

创建推荐服务

内容推荐是被后台处理创建。为了把我们的应用提供到内容推荐,创建一个周期性添加列表服务,从应用目录到系统推荐列表。

接下来的代码描绘了如何扩展删除它。

应用的推荐顺序被保存依据应用提供他们的顺序。framework interleave应用推荐基于推荐质量,用户习惯的收集。最好的推荐应是推荐最合适的出现在列表前面。

创建推荐

一旦我们的推荐服务开始运行,它必须创建推荐和推送他们到Android framework。Framework收到推荐作为http://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html#build())。

并且,确信调用NotificationCompat.BigPictureStyle通知不将显示在另一个设备。

接下来的代码示例展示了如何创建推荐。

public class RecommendationBuilder {    ...    public Notification build() throws IOException {        ...        Notification notification = new NotificationCompat.BigPictureStyle(                new NotificationCompat.Builder(mContext)                        .setContentTitle(mTitle)                        .setContentText(mDescription)                        .setPRiority(mPriority)                        .setLocalOnly(true)                        .setOngoing(true)                        .setColor(mContext.getResources().getColor(R.color.fastlane_background))                        .setCategory(Notification.CATEGORY_RECOMMENDATION)                        .setLargeIcon(image)                        .setSmallIcon(mSmallIcon)                        .setContentIntent(mIntent)                        .setExtras(extras))                .build();        return notification;    }}

运行推荐服务

我们的应用推荐服务必须周期性运行确保创建当前的推荐。去运行我们的服务,创建一个类运行计时器和在周期间隔关联它。接下来的代码例子扩展了BroadcastReceiver类的实现必须运行在TV设备启动后。 为了完成这个,注册这个类在应用manifest的intet filter中,它监听设备启动完成。接下来的代码展示了如何添加这个配置到manifest。

<manifest ... >  <application ... >    <receiver android:name="com.example.android.tvleanback.BootupActivity"              android:enabled="true"              android:exported="false">      <intent-filter>        <action android:name="android.intent.action.BOOT_COMPLETED"/>      </intent-filter>    </receiver>  </application></manifest>

在推荐服务类的<a href="http://developer.android.com/reference/android/app/IntentService.html#onHandleIntent(android.content.Intent)" rel="nofollow" "="">onHandleIntent()方法中,用以下代码提交推荐到管理器:

Notification notification = notificationBuilder.build();mNotificationManager.notify(id, notification);
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表