2

アラームマネージャを一定時間設定して電話機の背景を変更したいが、ブロードキャストレシーバは何もしていない。理由を教えてもらえますか?Android:アラームマネージャ用のブロードキャスト受信機が動作しない

スケジュールアラーム:

public void scheduleAlarm(Context context){ 
    Intent intent = new Intent(context, AlarmReceiver.class); 
    pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
    Calendar calendar = Calendar.getInstance(); 
    calendar.setTimeInMillis(System.currentTimeMillis()); 
    calendar.set(Calendar.HOUR_OF_DAY, 18); 
    calendar.set(Calendar.MINUTE, 34); 
    am = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 
    am.setInexactRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent); 
    Toast.makeText(context, "Alarm set", Toast.LENGTH_LONG).show(); 
} 

放送受信機:マニフェストに有効

@Override 
    public void onReceive(Context context, Intent intent){ 
     PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
     GrilledCheeseLookup.getGrilledCheeseJSON(grilledCheeseUrls, context); 
     Toast.makeText(context, "Alarm worked", Toast.LENGTH_LONG).show(); 
    } 

<receiver android:name=".AlarmReceiver" android:enabled="true" /> 
+0

マニフェストの正しい場所に ''要素がありますか?すなわち、 ''タグの間にありますが、他のものの中にはありません。例えば、' '? 'name'属性が正しいパッケージを指していることを確信していますか? Receiverが動作しているかどうかを判断するために 'Toast'を使っていると仮定すると、' onReceive() 'の何かが失敗する前にそれが表示されていることを確かめてください。 –

+0

はい、アプリケーションタグ内にありますが、などの他のタグの外側にあります。私はAlarmReceiverをどのパッケージにも持っていないので、それもうまくいくはずです。そして、私はそれが示す前にそれが失敗していないと確信しています。 – DessertsAndStuff

+0

www.github.com/Akash14204 ..プロジェクトの学生予算トラッカー。私はそれを使用しました.Uはそこからコードを取ることができます –

答えて

0

はテント/ 4を使用して、またpackageContextを指定して、あなたの意思を作成してみてくださいコンストラクタ(uriをnullに設定できます)。

関連する問題