当前位置:  编程技术>移动开发
本页文章导读:
    ▪AlarmManager种的应用(实现闹钟功能)        AlarmManager类的应用(实现闹钟功能) 转  http://blog.csdn.net/jeethongfei/article/details/6767826   1、AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定.........
    ▪ 常见 搬动广告平台 列表 欢迎补充        常见 移动广告平台 列表 欢迎补充 adMob com.admob adSence  com.google.ads fortumo com.fortumo #paypal com.paypal #google_analytics com.google.android.apps.analytics youmi net.youmi flurry com.flurry adwhirl com.adwhirl mobclix com.mob.........
    ▪ 下传APP到App Store过程中报错 备忘       上传APP到App Store过程中报错 备忘 1. application executable is missing a required architecture armv6In the Xcode 4.2 GM this is still a problem but you can resolve it by doing the following.Switch to the files/folders view in xcode proje.........

[1]AlarmManager种的应用(实现闹钟功能)
    来源: 互联网  发布时间: 2014-02-18
AlarmManager类的应用(实现闹钟功能)

转  http://blog.csdn.net/jeethongfei/article/details/6767826

 

1、AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定时间开始,以一个固定的间隔时间执行某项操作,所以常常与广播(Broadcast)连用,实现闹钟等提示功能

2、AlarmManager的常用方法有三个:

(1)set(int type,long startTime,PendingIntent pi) ;

该方法用于设置一次性闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟执行时间,第三个参数表示闹钟响应动作。

(2)setRepeating(int type,long startTime,long intervalTime,PendingIntent pi);

该方法用于设置重复闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟首次执行时间,第三个参数表示闹钟两次执行的间隔时间,第三个参数表示闹钟响应动作。

(3)setInexactRepeating(int type,long startTime,long intervalTime,PendingIntent pi);

该方法也用于设置重复闹钟,与第二个方法相似,不过其两个闹钟执行的间隔时间不是固定的而已。

3、三个方法各个参数详悉:

(1)int type : 闹钟的类型,常用的有5个值:AlarmManager.ELAPSED_REALTIME、 AlarmManager.ELAPSED_REALTIME_WAKEUP、AlarmManager.RTC、 AlarmManager.RTC_WAKEUP、AlarmManager.POWER_OFF_WAKEUP。

AlarmManager.ELAPSED_REALTIME表示闹钟在手机睡眠状态下不可用,该状态下闹钟使用相对时间(相对于系统启动开始),状态值为3;

AlarmManager.ELAPSED_REALTIME_WAKEUP表示闹钟在睡眠状态下会唤醒系统并执行提示功能,该状态下闹钟也使用相对时间,状态值为2;

AlarmManager.RTC表示闹钟在睡眠状态下不可用,该状态下闹钟使用绝对时间,即当前系统时间,状态值为1;

AlarmManager.RTC_WAKEUP表示闹钟在睡眠状态下会唤醒系统并执行提示功能,该状态下闹钟使用绝对时间,状态值为0;

AlarmManager.POWER_OFF_WAKEUP表示闹钟在手机关机状态下也能正常进行提示功能,所以是5个状态中用的最多的状态之一,该状态下闹钟也是用绝对时间,状态值为4;不过本状态好像受SDK版本影响,某些版本并不支持;

(2)long startTime : 闹钟的第一次执行时间,以毫秒为单位,可以自定义时间,不过一般使用当前时间。需要注意的是,本属性与第一个属性(type)密切相关,如果第一个参数对 应的闹钟使用的是相对时间(ELAPSED_REALTIME和ELAPSED_REALTIME_WAKEUP),那么本属性就得使用相对时间(相对于 系统启动时间来说),比如当前时间就表示为:SystemClock.elapsedRealtime();如果第一个参数对应的闹钟使用的是绝对时间 (RTC、RTC_WAKEUP、POWER_OFF_WAKEUP),那么本属性就得使用绝对时间,比如当前时间就表示 为:System.currentTimeMillis()。

(3)long intervalTime :对于后两个方法来说,存在本属性,表示两次闹钟执行的间隔时间,也是以毫秒为单位。

(4)PendingIntent pi : 是闹钟的执行动作,比如发送一个广播、给出提示等等。PendingIntent是Intent的封装类。需要注意的是,如果是通过启动服务来实现闹钟提 示的话,PendingIntent对象的获取就应该采用Pending.getService(Context c,int i,Intent intent,int j)方法;如果是通过广播来实现闹钟提示的话,PendingIntent对象的获取就应该采用 PendingIntent.getBroadcast(Context c,int i,Intent intent,int j)方法;如果是采用Activity的方式来实现闹钟提示的话,PendingIntent对象的获取就应该采用 PendingIntent.getActivity(Context c,int i,Intent intent,int j)方法。如果这三种方法错用了的话,虽然不会报错,但是看不到闹钟提示效果。

4、 AlarmManager使用示例:利用用户自定义广播实现闹钟功能,从当前时间开始,每隔10分钟提示一次

(1)实现原理:在 SendActivity.java中定义一个AlarmManager对象,指定该对象从当前时间开始,每隔10分钟向名为 “MYALARMRECEIVER”的广播接收器发出一条广播,附加消息内容为“你该打酱油了”;创建一个名为MyReceiver的广播接收器,在其 onReceive方法中获取Intent对象传过来的值(“你该打酱油了”)并用一个Toast组件显示出来;在 AndroidManifest.xml文件中注册SendActivity类和广播接收器类MyReceiver,设置MyReceiver的 action的值为“MYALARMRECEIVER”

(2)代码实现:

第一步:创建广播接收类MyReceiver.java,在其onReceive方法中获取Intent的附加信息msg,并用Toast组件显示

 

    public void onReceive(Context context,Intent intent){  
         String msg = intent.getStringExtra("msg");  
         Toast.makeText(context,msg,Toast.LENGTH_SHORT).show();  
    }  

 第二步:在AndroidManifest.xml中注册广播接收类MyReceiver.java,设置其action值为“MYALARMRECEIVER”

    <receiver android:name=".MyReceiver">  
       <intent-filter>  
          <action android:name="MYALARMRECEIVER" />  
       </intent-filter>  
    </receiver>  

 第三步:创建SendActivity.java,用于设置闹钟,定时发出广播

//创建Intent对象,action指向广播接收类,附加信息为字符串“你该打酱油了”  
  
Intent intent = new Intent("MYALARMRECEIVER");  
  
intent.putExtra("msg","你该打酱油了");  
  
//创建PendingIntent对象封装Intent,由于是使用广播,注意使用getBroadcast方法  
  
PendingIntent pi = PendingIntent.getBroadcast(this,0,intent,0);  
  
//获取AlarmManager对象  
  
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);  
  
//设置闹钟从当前时间开始,每隔10分钟执行一次PendingIntent对象,注意第一个参数与第二个参数的关系  
  
am.setRepeating(AlarmManager.RTC_WAKEUP,System.currentMillis(),600*1000,pi); 

 第四步:在AndroidManifest中为SendActivity.java注册

    <activity android:name=".SendActivity" />  
 

    
[2] 常见 搬动广告平台 列表 欢迎补充
    来源: 互联网  发布时间: 2014-02-18
常见 移动广告平台 列表 欢迎补充

adMob com.admob

adSence  com.google.ads

fortumo com.fortumo

#paypal com.paypal

#google_analytics com.google.android.apps.analytics

youmi net.youmi

flurry com.flurry

adwhirl com.adwhirl

mobclix com.mobclix

skyhookwireless com.skyhookwireless

Quattro_Wireless com.qwapi

smaato_Wireless com.smaato

medialets_Wireless com.smaato

jumptap_Wireless com.jumptap

#google_licensing com.android.vending.licensing

millennialmedia com.millennialmedia

inmobi com.inmobi

zestadz com.zestadz

 

tencent_mobwin com.tencent.mobwin

dianru com.dianru.sdk

domob cn.domob.android

vpon com.vpon.adon.android

greystripe com.greystripe.android.sdk

mdotm com.mdotm.android.ads

admogo com.admogo

 

adchina com.adchina.android.ads

fractalist com.fractalist.android.ads

wooboo com.wooboo

energysource com.energysource.szj

aduu cn.aduu.adsdk

adview com.adview

adwo com.adwo.adsdk

airad com.mt.airad

baidu com.baidu

appmedia cn.appmedia.ad

casee cn.casee.adsdk

izp com.izp.views

adlib_android com.l.adlib_android

lmmob com.lmmob.ad.sdk

mdotm com.mdotm.android.ads

mobisage com.mobisage

suizong com.suizong.mobplate

madhouse com.madhouse.android.ads

QQ_MobWin MobWin

ignitevision com.ignitevision.android.ads

umengAd com.umengAd

wiyun com.wiyun.ad

winad com.winad.android.ads

wqmobile com.wqmobile.sdk

 

dianjoy com.dianjoy


    
[3] 下传APP到App Store过程中报错 备忘
    来源: 互联网  发布时间: 2014-02-18
上传APP到App Store过程中报错 备忘
1. application executable is missing a required architecture armv6
In the Xcode 4.2 GM this is still a problem but you can resolve it by doing the following.

Switch to the files/folders view in xcode project

Select your Project ( the blue icon)

Select your Application under Targets in the middle of the screen.

Go To build settings

Find Architectures > Distribution

Expand this section so you can see both Debug and Release

Change "Standard (armv7) - $(ARCH_STANDARD_32_BIT)" to "Other..."

Replace, "Standard (armv7) - $(ARCH_STANDARD_32_BIT)" with "armv6", then add a new item "armv7"

Remember you may need to do this for all included projects aka frameworks such as TAPKU

2. 说是找不到图标 Unable to verify icon dimensions, no icon found
这个是图标命名的问题。。一定要 Icon.png .....Retina的图标名称为:Icon@2x.png


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3