相关疑难解决方法(0)

报警管理器即使在重启后仍然存在?

我是android的新手,我一直在研究警报.如果当天有生日,我想报警.我已经使用了报警管理器.我很困惑因为我已经读过它在重启后会清除.我没有Android手机,所以我只是使用模拟器.

这是我的代码:

public void schedAlarm() {
    AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
    Intent intent = new Intent(this, AlarmService.class);
    pendingIntent = PendingIntent.getBroadcast(this, contact.id, intent, PendingIntent.FLAG_ONE_SHOT);
    am.setRepeating(AlarmManager.RTC, timetoAlarm, nextalarm, pendingIntent);
}
Run Code Online (Sandbox Code Playgroud)

我将这个BroadcastRecever替换为AlarmSerivce Here:

public void onReceive(Context context, Intent intent) {
    nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    CharSequence from = "It Birthday!";
    CharSequence message =" Greet your friend.";
    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, new Intent(), 0);
    Notification notif = new Notification(R.drawable.ic_launcher, "Birthday", System.currentTimeMillis());
    notif.setLatestEventInfo(context, from, message, contentIntent);
    nm.notify(1, notif);
 }
Run Code Online (Sandbox Code Playgroud)

这够了吗??

android alarmmanager android-alarms

47
推荐指数
2
解决办法
3万
查看次数

手机重启后报警管理器不工作

我在按钮点击时创建了警报管理器。但是手机重启后就不行了。我的 AlarmbroadcastReceiver 在手机重启时没有调用。它在电话锁定时工作,应用程序被杀死但在电话重启后不起作用我创建了一个进度条,它在按钮点击时启动并在警报广播触发后停止,但在手机重启时它不会停止。我已经添加了我的按钮点击事件和广播接收器类

按钮点击事件

b1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
pb1.setVisibility(View.VISIBLE);
progress_edit.putBoolean("progress_one", true);
progress_edit.apply();
                    AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
                    Intent intnt = new Intent(getApplicationContext(), AlarmbroadcastReceiver.class);
                    intnt.setAction("com.ex.Alarm");
                    PendingIntent pending = PendingIntent.getBroadcast(getApplicationContext(), 0, intnt, 0);
                    manager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 120000, pending);
                                Log.d("Broadcast ","Fired");
                }
            });
Run Code Online (Sandbox Code Playgroud)

广播接收器类

    @Override
        public void onReceive(Context context, Intent intent) {
            Log.d("inside","broadcast receive");
            if(intent.getAction().equalsIgnoreCase("com.ex.Alarm"))
            {
enterSys_progress_edit.putBoolean("progress_one", false);
                enterSys_progress_edit.apply();
                Toast.makeText(context,"Receive",Toast.LENGTH_LONG).show();
            }

        }
Run Code Online (Sandbox Code Playgroud)

我的清单文件

  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.krutarth.alarm">
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver alarmmanager android-reboot

5
推荐指数
1
解决办法
5537
查看次数