2011-02-01 124 views
0

我读过,当你用Android重新启动时,所有的AlarmManagers都会被删除,并且需要重新制作。所以,我创建了一个BootReciever类,将通过调用WakefulIntentService像这样重新启动我的所有报警: -启动Reciever启动后永远不会被调用,但RecieverHandler是,并与数据?

public class BootReciever extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 

     Log.v("MessageDelay", "Reboot message Recieved"); 

     try { 

      WakefulIntentService.sendWakefulWork(context, BootSetter.class);  


      } catch (Exception e) { 
      Toast.makeText(context, "There was an error somewhere, but we still received an alarm", Toast.LENGTH_SHORT).show(); 
      e.printStackTrace(); 

      } 

    } 
} 

在清单中,我宣布,并把意图过滤器,因此,只有当系统启动完毕,像这样运行: -

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

现在撕裂我的头发试图解决的问题与此不工作作为intented后,我已经认识到,我的BootReciever类没有被启动后调用所应当。相反,我的另一个名为RecieverHandler的类正在被调用。更令人费解的是,启动时传递给我的RecieverHandler的Intent实际上具有可以无误地使用的有效数据。

我RecieverHandler看起来是这样的: -

public class RecieverHandler extends BroadcastReceiver 
{ 

    @Override 
    public void onReceive(Context context, Intent intent) 
    { 

     try { 

      Bundle bundle = intent.getExtras(); 

      Log.v("MessageDelay", "RecieverHandler is doing boot jobs"); 

      Intent newIntent = new Intent(context, MessageDispatcher.class); 
      newIntent.putExtras(bundle); 
      // newIntent.addFlags(Intent.FLAG); 
      //context.startService(newIntent); 
      WakefulIntentService.sendWakefulWork(context, newIntent);  


      } catch (Exception e) { 
      Toast.makeText(context, "There was an error somewhere, but we still received an alarm", Toast.LENGTH_SHORT).show(); 
      e.printStackTrace(); 

      } 


    } 
} 

它宣布在清单中,像这样:

<receiver android:name=".RecieverHandler"> 
     </receiver> 

虽然它可能是另一种情况还好我需要有当不同Recievers手机处于打开状态,手机启动时。

总结myquestions是: -

为什么RecieverHandler对付结束启动意图和我的BootReciever永远不会被调用?

在重新引导后重新启动前Intent数据设置仍然有效的方式吗?

他们的方式是延迟任何操作,直到设备的SMS发送功能准备就绪?

回答

相关问题