Будильник на Android

200
19 января 2019, 13:40

Разрабатываю будильник для ознакомления со сферой разработки для Android.
Проблема в следующем: не работает будильник.
Не могу разобраться в чём проблема. Прошу помощи.

Код:

package com.example.llirik.alarmtest;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Build;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TimePicker;
import android.widget.Toast;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
    private Button btnSave;
    private TimePicker tpClock;
    private PendingIntent pendingIntent;
    AlarmManager alarmManager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btnSave = (Button) findViewById(R.id.btnSave);
        tpClock = (TimePicker) findViewById(R.id.tpClock);
        alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
        final Calendar calendar = Calendar.getInstance();
        final Intent intent = new Intent(getApplicationContext(), AlarmReceiver.class);
        btnSave.setOnClickListener(new View.OnClickListener() {
            @RequiresApi(api = Build.VERSION_CODES.M)
            @Override
            public void onClick(View v) {
                calendar.set(Calendar.HOUR, tpClock.getHour());
                calendar.set(Calendar.MINUTE, tpClock.getMinute());
                AlarmReceiver alarmReceiver = new AlarmReceiver();
                alarmReceiver.SetAlarm(getApplicationContext(), calendar.getTimeInMillis());
                Toast.makeText(getApplicationContext(), "Alarm set", Toast.LENGTH_LONG).show();
            }
        });
    }
}

AlarmReciver ->

package com.example.llirik.alarmtest;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.PowerManager;
import android.util.Log;
import android.widget.Toast;
public class AlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent){
        PowerManager pm=(PowerManager) context.getSystemService(Context.POWER_SERVICE);
        PowerManager.WakeLock wl= pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"Alarm worked");
        wl.acquire();
        Toast.makeText(context, "Alarm work", Toast.LENGTH_LONG).show();
        wl.release();
    }
    public void SetAlarm(Context context, long timeInMillisecond)
    {
        AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
        Intent intent=new Intent(context, AlarmReceiver.class);
        PendingIntent pi= PendingIntent.getBroadcast(context,0, intent,0);
        am.set(AlarmManager.RTC_WAKEUP, timeInMillisecond,pi);
        Log.d("TAG_LOG", "Alarm set");
    }
}

Файл манифеста ->

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.llirik.alarmtest">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name=".AlarmReceiver"/>
    </application>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
</manifest>
READ ALSO
static nested class? [дубликат]

static nested class? [дубликат]

На данный вопрос уже ответили:

177
Как получить ссылку со страницы в WebView?

Как получить ссылку со страницы в WebView?

Есть страница contentFinal, которая загружается в WebView через фильтры JsoupВ загруженной странице есть ссылки, ведущие на другие страницы сайта

150
не работает компановщик (setLayout)

не работает компановщик (setLayout)

Застрял на одном месте, скорее всего не вижу очевидного

172