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" />