开机可以自行启动的android应用 Android开机启动Activity或者Service方法4.0以后的系统,需要apk至少有一个activity,你把apk安装上去了以后,手动运行一次。以后就可以开机启动了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主,这个问题我研究了一阵子,最后发现如果是三方应用没有系统权限的话,无解。原因如下:谷歌为了安全考虑(避免流氓软件、病毒啊干坏事,还能提高效率),4.0以后加了2个Flag:FLAG_INCLUDE_STOPPED_PACKAGES和FLAG_EXCLUDE_STOPPED_PACKAGES。系统发出的广播带有FLAG_EXCLUDE_STOPPED_PACKAGES这个flag,在应用进程没有启动的情况下是不能接收到的。当然如果是用户自定义的广播可以带有FLAG_INCLUDE_STOPPED_PACKAGES这个flag,那么即使应用没启动也可以收到广播(很遗憾啊!只能是三方自定义的广播)。由于开机的时候,进程还没有启动,所以根本收不到ACTION_BOOT_COMPLETED等系统发出的广播。最后只能遗憾的告诉楼主,没办法! 如果用户的手机是已经root过的,你可以通过申请root权限,在第一次安装的时候,申请到root之后,你就可以用Linux的命令来操作了,这时候你可以把你的应用升级成系统应用...不仅用户不能再卸载了,然后你想干这种开机启动的话,就service就行 加个<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />的权限,然后开机收到广播以后开启service 其实用广播就可以实现,创建一个开机启动的类,继承BroadcastReceiver,在用INTENT来启动。上代码public class StartRecevier extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Intent intent2 = new Intent(context,Main.class); intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent2); Log.d("boot_________!", "开机自启动"); }} 如何编译Nesoid 有人知道 怎么判断 界面是否处于桌面(或者说处于应用程序外的界面)? 如何判断一个电信的测试网站是CTNET,CTWAP的? 有人做过android短信同步显示软件吗? android时钟appwidget问题,求助android大神~ JNI层的newstringutf内存问题。。 求一款能提供天气接口的app Android蓝牙通信 大数据量短时间间隔通信出错(蓝牙spp) android 开发过程报错caused java.lang.nullpointed android 求助,有关超级课程表和课程格子的布局 新手开发tabhost的时候求助
原因如下:
谷歌为了安全考虑(避免流氓软件、病毒啊干坏事,还能提高效率),4.0以后加了2个Flag:FLAG_INCLUDE_STOPPED_PACKAGES和FLAG_EXCLUDE_STOPPED_PACKAGES。系统发出的广播带有FLAG_EXCLUDE_STOPPED_PACKAGES这个flag,在应用进程没有启动的情况下是不能接收到的。
当然如果是用户自定义的广播可以带有FLAG_INCLUDE_STOPPED_PACKAGES这个flag,那么即使应用没启动也可以收到广播(很遗憾啊!只能是三方自定义的广播)。
由于开机的时候,进程还没有启动,所以根本收不到ACTION_BOOT_COMPLETED等系统发出的广播。
最后只能遗憾的告诉楼主,没办法!
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Intent intent2 = new Intent(context,Main.class);
intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
Log.d("boot_________!", "开机自启动");
}}