Android应用程序需要在手机开机后自动重启

Android应用程序需要在手机开机后自动重启,android,Android,我需要我的应用程序自动启动后,手机重新启动和电源一次 我使用了上提供的代码,现在我的android应用程序在手机重新启动(重启)后自动启动 现在,考虑到,不做电话重启,我已经使用了“强>电话关机”(关闭电话)选项。手机开机后,我的应用程序不会按预期自动启动。你能解释一下我错过了什么吗 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <receiver android:en

我需要我的应用程序自动启动后,手机重新启动和电源一次

我使用了上提供的代码,现在我的android应用程序在手机重新启动(重启)后自动启动

现在,考虑到,不做电话重启,我已经使用了“强>电话关机”(关闭电话)选项。手机开机后,我的应用程序不会按预期自动启动。你能解释一下我错过了什么吗

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<receiver android:enabled="true" android:name=".BootUpReceiver" 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>



public class BootUpReceiver extends BroadcastReceiver
{
    private static SharedPreferences aSharedSettings;

    @Override
    public void onReceive(Context context, Intent intent) 
    {
        aSharedSettings = context.getSharedPreferences("MYPreferences", Context.MODE_PRIVATE);
        boolean isUserLoggedIn = aSharedSettings.getBoolean(kEY.AUTHENTICATED, false); 
        if(isUserLoggedIn) 
        {
Intent aServiceIntent = new Intent(context, HomeView.class);
                aServiceIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(aServiceIntent); 
}

    }
}

公共类BootUpReceiver扩展了BroadcastReceiver
{
私有静态共享引用作为共享设置;
@凌驾
公共void onReceive(上下文、意图)
{
aSharedSettings=context.getSharedReferences(“MYPreferences”,context.MODE\u PRIVATE);
boolean isUserLoggedIn=aSharedSettings.getBoolean(kEY.AUTHENTICATED,false);
if(isUserLoggedIn)
{
Intent-aServiceIntent=新意图(上下文,HomeView.class);
aServiceIntent.addFlags(Intent.FLAG\u活动\u新任务);
上下文。起始触觉(aServiceIntent);
}
}
}

谢谢。

您使用的是HTC设备吗?如果是这样,您可能启用了一个称为“快速启动”的功能

有关详细信息,请参阅此链接


有几件事你可以试试

首先检查
AndroidManifest.xml
中的应用程序
installLocation
是否设置为
android:installLocation=“internalOnly”
,这确保应用程序位于本地存储中。安装到SD卡的应用程序将不会收到
BOOT\u COMPLETE
意图

另外,我会删除
,这是不必要的

最后,您可以尝试使用完整的包名:

    <receiver android:enabled="true" 
              android:name="com.myapp.receivers.BootUpReceiver" 
              android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

如果您在重新启动手机之前至少手动启动一次应用程序,而不是“强制关闭”它,它是否能正常工作

看看:

尝试添加

<category android:name="android.intent.category.LAUNCHER" />

而不是

<category android:name="android.intent.category.DEFAULT" />. 

还要检查isUserLoggedIn的值。

启动应用程序的活动的名称,将这一行添加到标记中……并让我知道它是否有效

  <category android:name="android.intent.category.HomeView" />


您好,感谢您的快速响应。是的,我正在使用HTC one V。对我来说,在HTC one V中,我的android应用程序会在手机重新启动(重启)后自动启动。但是,当我使用“手机关机(关机)”时,此广播接收器未被调用,并且重新启动不起作用。我与其他android机型(三星和索尼)进行了检查,发现自动重启在“手机关机”时工作正常。HTC one V中唯一的问题。我试着打开屏幕并显示用户,但它不起作用。请帮忙……嗨,谢谢你的回复。我做了所有的3个改变。但它不起作用。我正在使用HTC one V。对我来说,在HTC one V中,我的android应用程序在手机重新启动(重启)后自动启动。但是,当我使用“手机关机(关机)”时,此广播接收器未被调用,并且重新启动不起作用。所以我觉得广播接收机没有问题。。我与其他android机型进行了检查,发现自动重启在“手机关机”时工作正常。HTC one V中唯一的问题。请提供任何建议。简单地说,它在重新启动时有效,但在“关机”时无效。是的,克里斯。。它在重新启动时起作用,但在“关机”时不起作用。我只能将其视为一个设备错误,在清单中没有“特殊”方式来指定您是否来自重新启动/启动:/谢谢库马尔。试过这个。但在HTC one V中,它在手机断电(关机)的情况下仍然不工作。然而,在其他型号的手机中,它工作正常。建议请…感谢samintechvalens的回复。。我试过了,但是仍然不起作用。