DayDream简单分析(一)

       Daydream是Android 4.2的一个新特性。 

    可以将DayDream看作是一个互动式的屏幕保护程序,在设备闲置或充电时,可以显示特定的界面,比如一张图片,一个网页,任何android设备支持的界面显示。

  

Google Currents就是个很好的例子,这是一个移动杂志阅读应用,当设备闲置时,在用户的设备上输出杂志样式的文章。在Daydream模式下,会以聚合的形式显示一个看起来非常有趣的故事,点击这个故事,会全屏显示,再次点击,会打开Currents应用。

OK,那么我们现在就着手书写一个简单的DayDreamDemo:

1,首先我们要了解DayDream的一些主要方法:

Daydream的实现 

Daydream是通过android.service.dreams.DreamService子类来实现的,

这是Daydream一些关键重写方法: 

设置Daydream的一些重要方法: 

2,书写一个Daydream的继承类,API最低为17

import android.service.dreams.DreamService;

public class DreamOne extends DreamService{

	@Override
	public void onAttachedToWindow() {
		// TODO Auto-generated method stub
		super.onAttachedToWindow();
		setContentView(R.layout.activity_main);
		//这里为了演示Daydream的简单效果只是加载一个静态布局
		setInteractive(false);//是否可以互动,默认false
                setFullscreen(true);//是否全屏,隐藏状态栏
		
	}
	
	@Override
	public void onDreamingStarted() {
		// TODO Auto-generated method stub
		super.onDreamingStarted();
	}
	
	@Override
	public void onDreamingStopped() {
		// TODO Auto-generated method stub
		super.onDreamingStopped();
	}
	
     @Override
    public void onDetachedFromWindow() {
    	// TODO Auto-generated method stub
    	super.onDetachedFromWindow();
    }
}
上面的代码片段中 onAttachedToWindow()中加载了一个静态布局。

3,配置AndroidManifest.xml文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.daydreamdemo"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        
        <service
            android:name=".DreamOne"
            android:exported="true"
            android:label="@string/app_name" 
            android:icon="@drawable/ic_launcher">
            
           <span style="color:#ff0000;"> <intent-filter>
                <action android:name="android.service.dreams.DreamService" />
		<category android:name="android.intent.category.DEFAULT" />
            </intent-filter></span>
            
        </service>
     </application>
</manifest>
intent-filter保证了daydream会被系统正确寻找到。

最后,代码结构文件,大家可以看到非常简单。


这样,一个最简单的DayDream的静态图片展示完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值