原文: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);
新闻热点
疑难解答