码迷,mamicode.com
首页 > 移动开发 > 详细

Android checkCallingPermission()方法返回值问题

时间:2014-11-05 19:42:47      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   io   使用   java   sp   on   2014   

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

以上,作一个记录。

Android checkCallingPermission()方法返回值问题

标签:android   style   blog   io   使用   java   sp   on   2014   

原文地址:http://blog.csdn.net/viviwen123/article/details/40828301

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!