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