2011-06-28 14 views
0

私は週に1回、一定の時間が到来したときに電話を消音して無音にするアンドロイドアプリを書いています。しかし、私がコードをコンパイルすると、broadcastreceiverは一度だけ起動します。誰でも知っている理由は?それ以降は全く発射しません。私はCWAC WakefulIntentについて聞いたことがありますが、私はAPI 4用に設計しているため、使用できません。BroadcastReceiverが実行されていません

以下は、私の2つの放送受信機と、アラームを設定するAlarmクラスです。電話をサイレンシングする場合はサイレント、電話機をオフにする場合はノーマルを選択します。

Silent.java:http://pasteit.com/381 Normal.java:http://pasteit.com/380 Alarm.java: ""/382

答えて

0

この問題の最も可能性の高い原因は、あなたがマニフェストにブロードキャストレシーバを宣言されていないということです。

+0

私はマニフェストに2つの受信者を宣言しました。 \t \t <受信機のアンドロイド: "サイレント "名= /> \t \t <受信機のアンドロイド:"。ノーマル" 名= /> –

+0

あなたはおそらく、 '' sのあなたのアラームと一致した。<インテントフィルタ> 'を追加する必要があります。それらの受信者宣言のそれぞれに「PendingIntent」を送る。また、 'PendingIntents'のために作成している' Intents'にカスタムアクションを指定し、それらのカスタムアクションを ''仕様で使用する必要があります。 –

+0

ああ、インテントフィルタを宣言する際の手順は何ですか?また、受信機に時間的な制約があるため、私の放送受信機が途中で終了する可能性はありますか? –

関連する問題