Android 启动时启动应用程序已完成
下面是我在设备打开时启动应用程序时使用的代码Android 启动时启动应用程序已完成,android,android-intent,broadcastreceiver,android-manifest,intentfilter,Android,Android Intent,Broadcastreceiver,Android Manifest,Intentfilter,下面是我在设备打开时启动应用程序时使用的代码 public class BootReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { Log.i("BootReceiver","intent received"); Intent myIntent = new Intent(context, ACT_
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);
}
}
在清单中(作为子项):
清单中的权限如下所示:
<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"/>
这在安卓3.2.2上运行良好,但如果我在安卓4.0.3上尝试相同的应用程序,广播接收器不会接收任何内容。
另外,onReceive
方法内的第一行也未执行。
为什么会发生这种情况?尽管您的代码看起来不错,但请尝试一下!以下是我的工作
<!-- Receivers -->
<receiver android:enabled="true" android:name="host.alarmmanager.BootReceiver"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
您应该在android清单中使用此选项,从电源菜单中选择重新启动选项,确保您没有重新启动手机 Android奇怪地拥有两种不同的权限。 1.重新启动 2.开机完成 所以, 首先关闭手机电源,然后几秒钟后重新开机
希望有帮助!(Y) 但为什么我的解决方案在没有添加此权限的情况下在Android 3.2.2中工作?我不清楚,但我们是否会看看Android版本3.x.x的百分比是否低于1%。所以你可以很容易地忘记它。好的@Seliv我要试试it@Joseph82由于它在某些设备上工作,我想您在清单中有权限。
<!-- Receivers -->
<receiver android:enabled="true" android:name="host.alarmmanager.BootReceiver"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />