Android注解--@hide

@hide

当对包,类,方法和域使用时,@hide从文档中删除相关节点和所有子节点。

Android有两种不能通过SDK访问的API。
第一种是在com.android.internal包中的类。 第二种API类型是标记有@hide javadoc属性的类和方法的集合。

隐藏方法仍可以通过反射访问。@hide属性只是javadoc的一部分(droiddoc也是),所以@hide只是简单将方法/类/字段从API文档中排除。

例如,ActivityManager.Java中的checkUidPermission标记为@hide:

/** @hide */
public static int checkUidPermission(String permission, int uid) {
    try {
        return AppGlobals.getPackageManager()
                .checkUidPermission(permission, uid);
    } catch (RemoteException e) {
        // Should never happen, but if it does... deny!
        Slog.e(TAG, "PackageManager is dead?!?", e);
    }
    return PackageManager.PERMISSION_DENIED;
}
 
 
  • 1
  • 4

不过,我们可以使用反射调用它。

Class c;
c = Class.forName("android.app.ActivityManager");
Method m = c.getMethod("checkUidPermission", new Class[] {String.class, int.class});
Object o = m.invoke(null, new Object[]{"android.permission.READ_CONTACTS", 10010});





在你添加的API或者变量前面增加javadoc 注释@hide,但是要注意并不是简单写个@hide 或者 /@hide/ 就可以了,这些都是错误的javadoc注释格式。标准的javadoc都是这样的 /* / 而且对于 format 变量应该加上 { },所以我们应该这样写 /* {@hide} /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值