嗯,更大的问题是如何使公共类{AccountManagerService}无法访问?
[编辑]
如果我正在开发一个Android应用程序,我只能访问AccountManager,而不能访问AccountManager内部使用的AccountManagerService。如果我查一下,我可以找到com.android.server.accounts。 AccountManagerService类,并声明为public。但是,我仍然无法导入它,也没有创建它的参考。
答案 0 :(得分:0)
访问另一个类的私有方法只能通过使用这样的反射来实现:
Method m = SomeClass.class.getDeclaredMethod("methodName", paramClasses);
m.setAccessible(true);
m.invoke(params);
这可以通过这些类的创建者来防止,我希望内部Android类就是这种情况。
使公共类无法访问可以通过设置自己的SecurityManager并拒绝访问此类来完成。我不打算详细说明,因为在Android上运行时你不太可能设置自己的SecurityManager。