2012-12-07 5 views
0

Dans mon application, j'ai un récepteur de démarrage, donc quand l'appareil redémarre, je veux réveiller un autre récepteur.Ainsi, s'il vous plaît aidez-moi. Ci-dessous mon code:Démarrage du récepteur de diffusion à partir d'un autre récepteur (récepteur de démarrage)

public class BootUpReciever extends BroadcastReceiver{ 

Context context; 
SharedPreferences settings; 
SmsManager smsMgr = SmsManager.getDefault(); 
public static final String PREFS_NAME = "MyPrefsFile"; 

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

    Intent sms = new Intent(context, SMSReceiver.class); 
    sms.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(sms); 

    Intent netAvailability = new Intent(context, CheckingNetworkAvailability.class); 
    netAvailability.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(netAvailability); 
} } 

ici SMSReceiver.class et heckingNetworkAvailability.class sont mes récepteurs. Y a-t-il une erreur?

+0

Ainsi, les récepteurs sont en fait des activités? Ou est-ce que ces activités enregistrent leurs propres récepteurs? –

+0

Je ne sais pas cher Pouvez-vous me donner un indice? –

+0

Eh bien, il est clair que vous démarrez Activités, qui diffèrent de BroadcastReceivers. Ma question est, est-ce que ces activités ont un appel à 'registerReceiver()'? –

Répondre

0

Maintenant, je suis en utilisant le gestionnaire de paquets et son fonctionnait très bien :)

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

    ComponentName sms = new ComponentName(context, SMSReceiver.class); 
    context.getPackageManager().setComponentEnabledSetting(sms, 
      PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 

    ComponentName net = new ComponentName(context, CheckingNetworkAvailability.class); 
    context.getPackageManager().setComponentEnabledSetting(net, 
      PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 
} 
Questions connexes