android3.1以上系统中服务不能开机启动解决方案
来源:互联网 发布:北京体检哪里好 知乎 编辑:程序博客网 时间:2024/05/01 21:47
android3.1以后的系统,没有activity,声明了系统开机广播,也是无法启动的
1、android3.1之后,也是为了安全起见,如果应用程序没有启动过,则receiver不起作用,开机启动不了服务.
2、根据网上有些贴子的提示和做法,我也做了个透明Activity,直接连接数据线把程序装载到手机上,service是可以运行的,因为activity中有启动service的方法
3、程序没启动过,直接安装apk到手机上,则发现开机启动不了程序
4、手机上能启动的程序一般是系统内置程序,也就是程序权限较高,于是想到通过提升apk的权限,使之变为系统应用,再将安装到手机上,上网查了下,需要如下几步
:在配置文件中加入红色部分<uses-sdk android:minSdkVersion="7" android:sharedUserId="android.uid.system" />;重新编译程序--》导出程序空包(apk)--》再对其进行系统签名(签名需要文件如下)
环境配置可通过这个贴子:http://www.cnblogs.com/bvin/archive/2012/09/24/2699470.html
5、签名成功后,可以找一个root后的手机将apk-copy到system/app,然后开机即可看到服务启动.
6、想到项目的需求是通过刷机包直接将apk刷进手机system/app下,因此没有测试,不用提升apk的权限,直接将apk安装到system/app,开机能否启动。
OR:
第一,写一个很简单的程序,就一个Activity,指此Activity标题栏去掉,背景全透明,然后在此Activity的OnCreate将自己finish()掉,什么都不用干,只要在Manifest.xml中申明开机服务就OK,然后在程序内部响应此开机服务。
第二,不要Activity了,直接将程序写成一个Widget。
下面是背景全透明无标题栏的activity创建方法:
在进行UI设计时,我们经常需要将屏幕设置成无标题栏或者全屏。要实现起来也非常简单,主要有两种方法:配置xml文件和编写代码设置。
1.在xml文件中进行配置
在项目的清单文件AndroidManifest.xml中,找到需要全屏或设置成无标题栏的Activity,在该Activity进行如下配置即可。
实现全屏效果:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
实现无标题栏(但有系统自带的任务栏):
android:theme="@android:style/Theme.NoTitleBar"
实现全透明:
android:theme="@android:style/Theme.Translucent"
或者只用一个配置就可以实现全透明无标题栏全屏:
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
2.编写代码设置
在程序中编写代码进行设置,只需在onCreate()方法中加入如下代码即可
实现全屏效果:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
实现无标题栏(但有系统自带的任务栏):
requestWindowFeature(Window.FEATURE_NO_TITLE);
附:Android系统自带样式
android:theme="@android:style/Theme.Dialog" 将一个Activity显示为能话框模式 android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不显示应用程序标题栏,并全屏 android:theme="Theme.Light" 背景为白色 android:theme="Theme.Light.NoTitleBar" 白色背景并无标题栏 android:theme="Theme.Light.NoTitleBar.Fullscreen" 白色背景,无标题栏,全屏 android:theme="Theme.Black" 背景黑色 android:theme="Theme.Black.NoTitleBar" 黑色背景并无标题栏 android:theme="Theme.Black.NoTitleBar.Fullscreen" 黑色背景,无标题栏,全屏 android:theme="Theme.Wallpaper" 用系统桌面为应用程序背景 android:theme="Theme.Wallpaper.NoTitleBar" 用系统桌面为应用程序背景,且无标题栏 android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" 用系统桌面为应用程序背景,无标题栏,全屏 android:theme="Translucent" 透明背景android:theme="Theme.Translucent.NoTitleBar" 透明背景并无标题android:theme="Theme.Translucent.NoTitleBar.Fullscreen" 透明背景并无标题,全屏android:theme="Theme.Panel" 面板风格显示android:theme="Theme.Light.Panel" 平板风格显示
0 0
- android3.1以上系统中服务不能开机启动解决方案
- Linux 系统服务开机启动
- 关于WAMP中mysql服务突然不能启动的解决方案
- yum 安装mysql后怎样启动,以及添加为系统服务,但不能开机启动
- linux 系统中tomcat服务加入开机启动项
- SpringCloud-----SpringCloud不能启动所有服务解决方案
- Linux系统服务与开机启动
- Linux管理默认系统开机启动服务
- CentOS 7自定义开机启动系统服务
- liunx系统添加开机自启动服务
- debian系统添加开机启动服务
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- SQL 按指定顺序进行排序
- 多线程模式(五)-Future模式
- iis 反向代理
- 代理模式与动态代理
- CURL COOKIE
- android3.1以上系统中服务不能开机启动解决方案
- 2013年12月北京市广播电台网络影响力排名
- 安装部署elasticseartch
- 《Apache MINA 2.0 用户指南》第八章:字节缓存
- 关于IE的BUG(CSS)
- 图片压缩
- ViewPager整合Fragment实现导航或滑动翻页
- java中IO流总结
- 三次握手Three-way Handshake