Android 警报\u启动\u在某些手机中未收到,但在其他情况下效果良好

Android 警报\u启动\u在某些手机中未收到,但在其他情况下效果良好,android,android-intent,Android,Android Intent,我正在从我的BroadCastReceiver接收警报\u BOOT\u COMPLETED来启动服务。这段代码在三星SII等手机上对我有效,但在索尼Xperia Neo等其他手机上不起作用。。任何人请告诉我在这里做什么。我有点卡住了 工作装置可能在3.1之前。如果我没记错的话,在3.1之后,BOOT_完成广播仅在用户第一次打开应用程序后处理 检查。我已在我的接收器中添加了清单和意图筛选器操作中的所有权限…我正在接收器的意图筛选器中使用这两个权限::android.intent.action.B

我正在从我的BroadCastReceiver接收警报\u BOOT\u COMPLETED来启动服务。这段代码在三星SII等手机上对我有效,但在索尼Xperia Neo等其他手机上不起作用。。任何人请告诉我在这里做什么。我有点卡住了

工作装置可能在3.1之前。如果我没记错的话,在3.1之后,
BOOT_完成
广播仅在用户第一次打开应用程序后处理


检查。

我已在我的接收器中添加了清单和意图筛选器操作中的所有权限…我正在接收器的意图筛选器中使用这两个权限::android.intent.action.BOOT\u已完成,android.intent.action.action\u外部应用程序可用。此外,该代码适用于具有v4.0.1版本的三星SII,但不适用于具有v4.0.4版本的索尼xperio NEO和另一个具有v2.3.5版本的设备。。。我现在更糊涂了。。请帮忙!!我不确定我是否理解你的意思好吧,看起来这不是我刚才指出的问题。对不起,我帮不上忙:-(
public class AlertBootCompletedReceiver extends BroadcastReceiver {

    private PackageManager pm;
    private boolean isStoredExternally;

    @Override
    public void onReceive(Context context, Intent arg1) {
        // TODO Auto-generated method stub

        pm = context.getPackageManager();
        try {
            PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);
            ApplicationInfo ai = pi.applicationInfo;
            isStoredExternally = (ai.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) == ApplicationInfo.FLAG_EXTERNAL_STORAGE;

        } catch (NameNotFoundException e) {
            // do something
        }
        if (arg1.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {

            if (!isStoredExternally) {
                // I start a service here
            }
        }
        if (arg1.getAction().equals(
                Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE)
                && isStoredExternally) {

            // I start a service here ..
        }

    }

}