Android checkCallingPermission()メソッドの戻り値の問題


Androidがチェック権限を開発すると、checkCallingPermission()を呼び出すと常に値-1が返され、Binder.getCallingPid() == Process.myPid()はいつもtrueに戻っていて、理解できません.
インターネットで資料を調べたところ、AIDLを使用する際にIPC(interprocess communication)メソッドで上記の2つのメソッドを呼び出してこそ、所望の値が得られることが分かった.すなわち、次の方法は、リモート・サービスのリモート・メソッドでのみ呼び出されます.
	//           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;
	}

以上、1つの記録をします.