2014-07-21 65 views

回答

0

沒有,沒有真正的旋鈕。你已經註冊,或者你沒有註冊。你可以做的是在接收器中設置一個默認爲false的靜態變量。在你的onReceive中,看看這個變量。如果它是假的,將其設置爲true並返回(除此之外別無其他)。它是真實的,處理事件。它需要是靜態的,因爲如果通過清單啓動,接收者不一定是調用之間的相同對象(在通過registerReceiver註冊時沒有檢查)。

1

不,如果您註冊將收到廣播。你可以試試這個:

private BroadcastReceiver mBatInfoReceiver = null; 

@Override 
protected void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    this.setContentView(R.layout.activity_main); 
    this.mBatInfoReceiver = new BroadcastReceiver() { 

     @Override 
     public void onReceive(final Context ctxt, final Intent intent) { 
      final int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0); 
      if (level == 100) { 
       // do something 
      } 

     } 
    }; 

    this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); 


} 
相關問題