2012-12-07 48 views
0

在我的應用程序中,我有一個啓動接收器,所以當設備重新啓動時,我想喚醒另一個接收器。所以請幫助我。 下面是我的代碼:從另一個接收器啓動廣播接收器(啓動接收器)

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); 
} } 

這裏SMSReceiver.class和heckingNetworkAvailability.class是我的接收器。 我在做什麼錯誤。

+0

所以接收器實際上是活動?或者那些活動註冊他們自己的接收者? –

+0

我不知道親愛的你可以給我一個提示 –

+0

好吧,很明顯你正在開始的活動,這不同於BroadcastReceivers。我的問題是,這些活動是否有一個「registerReceiver()'調用? –

回答

0

現在我使用的包管理系統和它的做工精細:)

@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); 
}