我做了一个Android应用程序,并使用AlarmManager和Broadcast Receiver来获取本地通知.但我的Receiver类根本没有被调用.我回溯了这个问题,发现我的应用程序无法获得'SET_ALARM'权限.请在下面找到截图.
截图:
因此,为了交叉检查权限问题,我在MainActivity.java中添加了以下代码,以检查应用程序是否能够获得权限.我发现它无法获得请求SET_ALARM权限.请在下面找到代码.
MainActivity.java
package com.dileepmanuballa224.alarm_test;
import android.Manifest;
import android.app.AlarmManager;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.annotation.RequiresApi;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
AlarmManager am;
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(ContextCompat.checkSelfPermission(this, Manifest.permission.SET_ALARM)!= PackageManager.PERMISSION_GRANTED){
Log.d("Perm check:SET_ALARM", "Permission Denied");
requestPermissions(new String[]{Manifest.permission.SET_ALARM},1);
}else{
Log.d("Perm check:SET_ALARM", "Permission Exists");
}
if(ContextCompat.checkSelfPermission(this, Manifest.permission.INTERNET)!= PackageManager.PERMISSION_GRANTED){
Log.d("Perm check:INTERNET", "Permission Denied");
requestPermissions(new String[]{Manifest.permission.SET_ALARM},1);
}else{
Log.d("Perm check:INTERNET", "Permission Exists");
}
}
}
Run Code Online (Sandbox Code Playgroud)
清单文件
<?xml version="1.0" …Run Code Online (Sandbox Code Playgroud)