2015-10-16 35 views
0

我一直在這裏呆了幾個小時,看起來像這樣一個小問題。 我的廣播接收器似乎並沒有收到報警廣播。我可以看到警報設置爲「adb shell dumpsys alarm」,但我的onReceive方法從未被調用。BroadcastReceiver無法接聽來自鬧鐘的接收

這是類:

public class AlarmReceiver extends BroadcastReceiver { 

public void AlarmReceiver(){ 
    super(); 
} 

@Override 
public void onReceive(Context context, Intent intent) { 
    Log.i("Alarm:", "Received alarm!"); 
} 

,這裏是我的MainActivity:

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    scheduleAlarm(); 
} 

private void scheduleAlarm(){ 

    Intent intent = new Intent(this,AlarmReceiver.class); 

    final PendingIntent pIntent = PendingIntent.getBroadcast(this,19522,intent,PendingIntent.FLAG_UPDATE_CURRENT); 
    AlarmManager alarm = (AlarmManager) getSystemService(ALARM_SERVICE); 
    alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 5000, pIntent); 

    Log.i("Main", "Alarm Scheduled"); 
} 

和我的清單文件包含:

<receiver android:name="dt.wirelessproject.AlarmReceiver"></receiver> 

回答

2

嘗試......

Your Receiver class constr uctor可能是錯的。只要改變你的接收機類似這樣...

public class AlarmReceiver extends BroadcastReceiver { 

    public AlarmReceiver(){ 
    super(); 
    } 
    @Override 
    public void onReceive(Context context, Intent intent) { 
    Log.i("Alarm:", "Received alarm!"); 
    } 
} 
+0

啊,我已經想通了 - 我的表單形式是畸形的。解決這個問題讓它立刻工作。感謝您的幫助。 – user3601503