80,351
社区成员
发帖
与我相关
我的任务
分享
public class BootUpReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, Voice_TVBox.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
那怎么将应用装在安装是直接安装到系统目录下呢 [quote=引用 3 楼 u010457784 的回复:] 我也碰到过这问题。有个很简单的方法就是将你的apk,安装到/system/app/下,这样你的app就成了系统级的应用,所所有的广播都可以接收到
我也碰到过这问题。有个很简单的方法就是将你的apk,安装到/system/app/下,这样你的app就成了系统级的应用,所所有的广播都可以接收到
楼主,关于启动收不到系统广播这个问题我研究了一阵子,最后发现如果是三方应用没有系统权限的话,无解。 原因如下: 谷歌为了安全考虑(避免流氓软件、病毒啊干坏事,还能提高效率),4.0以后加了2个Flag:FLAG_INCLUDE_STOPPED_PACKAGES和FLAG_EXCLUDE_STOPPED_PACKAGES。系统发出的广播带有FLAG_EXCLUDE_STOPPED_PACKAGES这个flag,在应用进程没有启动的情况下是不能接收到的。 当然如果是用户自定义的广播可以带有FLAG_INCLUDE_STOPPED_PACKAGES这个flag,那么即使应用没启动也可以收到广播(很遗憾啊!只能是三方自定义的广播)。
我在4.0上是可以的,具体如下:你可以试试。<receiver android:name=".BootBroadcastReceiver" android:enabled="true" android:exported="true"> <intent-filter > <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.HOME" /> </intent-filter> </receiver>