增加通知栏判断与设置功能

增加通知栏判断和跳转应用信息列表功能
This commit is contained in:
liujingdong 2018-08-02 17:36:15 +08:00
parent 9863d76af1
commit b781872402
2 changed files with 43 additions and 0 deletions

View File

@ -23,5 +23,17 @@ PermissionsPlugin.addPermissions("VPN",function (result) {
//失败的回调
alert("错误了" + err);
},null);
功能三 判断应用是否打开通知状态栏
PermissionsPlugin.addPermissions("isNotificationEnabled", function (result) {
if(result == "opened"){//通知状态打开
}else if(result == "closed"){//通知状态关闭
}, null, null);
功能四 进入设置系统应用权限界面
PermissionsPlugin.addPermissions("notificationSet",null,null,null);
---

View File

@ -2,12 +2,17 @@ package custom.cordova.permissions;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.nfc.Tag;
import android.os.Build;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.NotificationManagerCompat;
import android.support.v4.content.ContextCompat;
import android.util.Log;
import android.widget.Toast;
@ -44,10 +49,36 @@ public class PermissionsPlugin extends CordovaPlugin implements ActivityCompat.O
return true;
}else if(action.equals("VPN")){
isVpnUsed();
}else if(action.equals("isNotificationEnabled")){//判断是否打开通知状态栏
if(isNotificationEnabled()){
mCallbackContext.success("opened");//打开状态
}else{
mCallbackContext.success("closed");//关闭状态
}
return true;
}else if(action.equals("notificationSet")){//设置通知状态栏
notificationSet();
return true;
}
return false;
}
//设置通知和状态栏
private void notificationSet() {
// 进入设置系统应用权限界面
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.fromParts("package", cordova.getActivity().getPackageName(), null));
cordova.getActivity().startActivity(intent);
}
//判断通知状态栏是否打开
private boolean isNotificationEnabled() {
NotificationManagerCompat manger = NotificationManagerCompat.from(cordova.getActivity());
boolean isOpende = manger.areNotificationsEnabled();
return isOpende;
}
/*判断VPN方法*/
public void isVpnUsed() {
boolean isVpn = false;