您现在的位置: 爱51代码网 >> 范文 >> 文章正文
android 4.0怎样实现开机自启动服务没有activity

android 4.0怎样实现开机自启动服务没有activity

开机自启动很简单。
你是想做什么?
是不是想开机后,自动启动一个服务?然后在后台干一些别人不知道的事情?其实这很简单呀?
不过首先需要明确一点:没有Activity的Android程序,是启动不了滴,不过,你可以指定一个Activity,或者,指定一个桌面挂件呀,就是Widgets,知道吧?
那么,我们就有两种方法来实现你的功能:
第一,写一个很简单的程序,就一个Activity,指此Activity标题栏去掉,背景全透明,然后在此Activity的OnCreate将自己finish()掉,什么都不用干,只要在Manifest.xml中申明开机服务就OK,然后在程序内部响应此开机服务。
第二,不要Activity了,直接将程序写成一个Widgets……
如果你还不明白的话,可以说一声,我写一个给你看。不过我写出来你看过后,你就又少了一次自己研究的机会了……

:<action android:name="android.intent.action.BOOT_COMPLETED" />

如你所说,andriod 3.1以后,安装后没经过用户启动,所有的Intent都是收不到的.
这样做是因为考虑到安全性问题.
除非Intent里指定了你所说的FLAG_EXCLUDE_STOPPED_PACKAGES.
bootcompleteIntent是没有指定为FLAG_EXCLUDE_STOPPED_PACKAGES的.
所以你想装上去就能开机自己启动是不可能的.

从安全性角度上来说,谁也不想下载了一个app后,没碰过它,每次就能自己启动吧.
你的app从设计上来看,是不是可以改善一下呢?

系统无法执行android.intent.action.BOOT_COMPLETED的广播,不是不能执行广播里的内容,你的activity可见与不可见对结果没有影响,一样不会执行

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    lotus数据列表文档个数如何实时统
    lotus代理中LS如何将字符串保存到
    在lotus BS系统里怎样方便实现统
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    linux上运行system函数时,print
    Failed to open eth0
    java如何判断一个字符串里的数字
    undefined reference timer_crea
    Failed to open eth0
    C/C++洗牌算法源代码
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    sharepoint 2010 获取用户信息Us
    设计包含max函数的队列
    mysql主从同步延迟方案解决的学习
    青岛科学六年级下册教材分析
    android中不同的listview可以
    如何用adb获得手机里面某个a
    okButton'was not decla
    emulator-5554 disconnected
    android怎么改变鼠标样式
    如何读取android设备的 子网
    Android adb shell中将getev
    assignment makes integer f
    Qt线程里面如何给一个结构体
    qt的connect(timer,SIGNAL(t
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |