引导接收器在froyo上工作但不在ICS上工作

时间:2012-09-10 10:16:03

标签: android broadcastreceiver android-4.0-ice-cream-sandwich boot

  

可能重复:
  BroadcastReceivers in ICS

我有一个启动接收器,它在启动时调用其他应用程序, 这在froyo上工作得很好。但是当我尝试在ICS上运行它时它不起作用,并且从未调用过它!    这是我的清单中注册的Boot Receiver。

   <receiver android:name=".MyBroadCastReceiver" >
        <intent-filter>
           <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.QUICKBOOT_POWERON" />

        </intent-filter>
    </receiver>

这是我的广播接收器类

公共类MyBroadCastReceiver扩展了BroadcastReceiver {

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


     if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
            Intent i = new Intent(context, BootActivity.class);
          i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);


    }else{

    }
}}

为什么这不起作用......还有其他方法可以让它在ICS上运行吗?

1 个答案:

答案 0 :(得分:0)

  

从3.1开始安装应用程序时,它们处于“停止”状态,因此在用户之前它们将无法运行   明确启动它们。按下强制停止将返回它   状态。

     

因此,首次安装应用程序时,除非用户手动操作,否则系统将完全忽略它们   启动一些内容:点击启动器活动或添加应用   小部件,很有可能。

     

一直依赖于在没有用户干预的情况下进行某种系统广播的开发人员需要调整他们的应用程序   Android 3.1。