如何实现android 警报管理器?

发布于 2021-02-02 23:25:23

如何实现android 警报管理器?

关注者
0
被浏览
897
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    从服务设置警报:

    package yourPackage;
    
    import android.app.Service;
    import android.content.Context;
    import android.content.Intent;
    import android.os.IBinder;
    
    public class YourService extends Service
    {
        Alarm alarm = new Alarm();
        public void onCreate()
        {
            super.onCreate();       
        }
    
        @Override
        public int onStartCommand(Intent intent, int flags, int startId)
        {
            alarm.setAlarm(this);
            return START_STICKY;
        }
    
       @Override        
       public void onStart(Intent intent, int startId)
        {
            alarm.setAlarm(this);
        }
    
        @Override
        public IBinder onBind(Intent intent)
        {
            return null;
        }
    }
    

    如果要设置在电话启动时重复发出警报:

    Manifest.xml添加权限和服务:

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
    ...
    <receiver android:name=".AutoStart">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED"></action>
        </intent-filter>
    </receiver>
    ...
    <service
            android:name=".YourService"
            android:enabled="true"
            android:process=":your_service" >
    </service>
    

    并创建一个新类:

    package yourPackage;
    
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    
    public class AutoStart extends BroadcastReceiver
    {   
        Alarm alarm = new Alarm();
        @Override
        public void onReceive(Context context, Intent intent)
        {   
            if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED))
            {
                alarm.setAlarm(context);
            }
        }
    }
    


面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看