zoukankan      html  css  js  c++  java
  • Android checkCallingPermission()方法返回值问题

    Android开发检查权限时,发现调用checkCallingPermission()总是返回值-1,Binder.getCallingPid() == Process.myPid()又总是返回true,百思不得其解。

           网上查资料后发现,必须是在使用AIDL时在IPC(interprocess communication)方法中调用上述两个方法,才可以得到期望的值。即以下的方法仅仅能在远程Services的远程方法中调用。

    	// 检查调用者是否具有 permission权限
    	// 此方法仅在调用IPC(interprocess communication)方法时实用
    	public static boolean checkPermission(Context context, String permission) {
    		//检查假设是当前应用则返回真
    		if (Binder.getCallingPid() == Process.myPid()) {
    			return true;
    		}
    		if (context.checkCallingPermission(permission) == PackageManager.PERMISSION_GRANTED) {
    			return true;
    		}
    		return false;
    	}

    以上,作一个记录。

  • 相关阅读:
    王者荣耀_KEY
    月亮之眼_KEY
    编号中的数学_KEY
    BZOJ1854_游戏_KEY
    BZOJ1059_矩阵游戏_KEY
    最小覆盖_KEY
    Dijkstra堆优化学习
    LuoguP1196_银河英雄传说_KEY
    BZOJ1207_打鼹鼠_KEY
    Codevs1380没有上司的舞会_KEY
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4378785.html
Copyright © 2011-2022 走看看