android应用程序需要哪些权限才能使用Alarm Manager服务?

android应用程序需要哪些权限才能使用Alarm Manager服务?,android,permissions,alarm,Android,Permissions,Alarm,如果android应用程序想要使用Alarm Manager服务,那么该应用程序需要具备哪些权限 我已经测试过,似乎应用程序不需要任何权限就可以使用Alarm Manager服务 那是真的吗?是的,是真的。您不必添加任何特殊服务。请记住,当手机重新启动时,您设置的警报将丢失,因此您可能希望在启动时重新安排它们,这需要android.permission.RECEIVE\u boot\u COMPLETED权限。它每10分钟唤醒一次CPU,直到手机关机 <uses-permission an

如果android应用程序想要使用Alarm Manager服务,那么该应用程序需要具备哪些权限

我已经测试过,似乎应用程序不需要任何权限就可以使用Alarm Manager服务


那是真的吗?

是的,是真的。您不必添加任何特殊服务。请记住,当手机重新启动时,您设置的警报将丢失,因此您可能希望在启动时重新安排它们,这需要
android.permission.RECEIVE\u boot\u COMPLETED
权限。

它每10分钟唤醒一次CPU,直到手机关机

<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>

<receiver  android:process=":remote" android:name="Alarm"></receiver>

如果要在手机启动时设置重复报警:

<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>

...

添加到Manifest.xml:

<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
...
<receiver  android:process=":remote" android:name="Alarm"></receiver>
<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>
如果要在手机启动时设置重复报警:

<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>
向Manifest.xml添加权限:

<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
...
<receiver  android:process=":remote" android:name="Alarm"></receiver>
<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>

想给克里斯蒂安所说的话再添几句

即使您使用
android.permission.RECEIVE\u BOOT\u COMPLETED
权限,您的应用程序也将在2.X.X设备上正常运行


但是,在4.x设备中,broadvast接收器将无法启动,除非您手动启动应用程序

我不知道为什么没有人提及此权限

但根据android文档,您应该使用SET_ALARM权限

允许应用程序广播设置报警的意图 用户



我刚刚做了一个测试作为您的代码,但我遇到了一个错误:V/onPause:(10099):on pause V/updateReceiver(10099):更新应用程序D/AndroidRuntime(10099):关闭VM W/dalvikvm(10099):threadid=1:线程退出时出现未捕获异常(组=0x4001e578)E/AndroidRuntime(10099):致命异常:main E/AndroidRuntime(10099):java.lang.RuntimeException:在com.tcm.alarm.Activity中接收广播意图{act=com.tcm.alarm.Intent.UPDATE flg=0x40000004(有附加项)}时出错$updateReceiver@406ccfb0E/AndroidRuntime(10099):关于为什么我不能输入Enter来形成评论,我认为这不是一个(完整的)解决方案,因为你不知道如果我不使用任何权限会发生什么扫描你请解释为什么在远程进程中运行接收器?你认为第一个答案应该标记为正确吗?这是针对闹钟的,不是针对AlarmManager的。