问题描述
- 开启设备时,启动程序的问题
-
下面的代码是当开启设备时,启动程序:public class BootReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { Log.i("BootReceiver","intent received"); Intent myIntent = new Intent(context, ACT_Home.class); myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(myIntent); } }
在Manifest (as child)中:
<receiver android:name="host.alarmmanager.BootReceiver"> <intent-filter > <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver>
在 Manifest 中的权限:
<uses-permission android:name="android.permission.INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.VIBRATE" /> <uses-feature android:name="android.hardware.camera"/> <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
代码在 Android 3.2.2 中可以很好的运行,但是把相同的代码在 Android 4.0.3 中运行时,broadcast 接受器不能接受到任何东西,而且 onReceive 方法中的第一行也没有执行。这是什么错误啊?
时间: 2024-10-29 14:07:04