1
Dies ist meine erste Anwendung und ich versuche, die Alarm manager
mit BroadcastReceiver
zu arbeiten.Alarmmanager mit BroadcastReceiver
Ich rufe die Funktion "SetFutureStartTime()" mit der Zeit, die ich die Alarm manager
auslösen soll onReceive()
. aber wenn die Zeit kommt, haps nichts mehr.
Dieser th-Code ist:
public void SetFutureStartTime(int startHour, int startMin)
{
Context context = this;
m_alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver_SendOn.class);
intent.setAction("Broadcast");
m_alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
// Set the alarm to start at 21:32 PM
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, startHour);
calendar.set(Calendar.MINUTE, startMin);
m_alarmMgr.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), m_alarmIntent);
}
public class AlarmReceiver_SendOn extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
SendTcpMessage(TURN_ON_COMMAND); //I put here break point but nothing happens
}
}
Dies ist das Ende von manifast
:
.....
</activity>
<receiver android:name=".MainActivity$AlarmReceiver_SendOn">
<intent-filter>
<action android:name="Broadcast">
</action>
</intent-filter>
</receiver>
</application>
Was bin ich?
Ist 'AlarmReceiver_SendOn' eine innere Klasse Ihres' MainActivity' wie das, was im Manifest gezeigt wird? –
Hallo, ja .. es innerhalb der 'MainActivity' – user1673206
Wenn Sie möchten, dass die Receiver-Klasse eine geschachtelte Klasse sein soll, muss es' public static' sein. –