Java/Android:如何访问AndroidManifest.xml中声明的ContentProvider?
AndroidManifest.xml:Java/Android:如何访问AndroidManifest.xml中声明的ContentProvider?,java,android,Java,Android,AndroidManifest.xml: 我有一个APEZProvider类,它来自安卓SDK/extras文件夹。它扩展了ContentProvider 我还有一个XAPKProvider类,它扩展了APEZProvider: public class XAPKProvider extends APEZProvider { @Override public String getAuthority () {return "com.mygame.expansion";} public in
我有一个APEZProvider
类,它来自安卓SDK/extras文件夹。它扩展了ContentProvider
我还有一个XAPKProvider
类,它扩展了APEZProvider
:
public class XAPKProvider extends APEZProvider {
@Override public String getAuthority () {return "com.mygame.expansion";}
public int mainFileVersion = 0;
public int patchFileVersion = 0;
@Override public boolean initIfNecessary () {
if (mInit) return true;
Context ctx = getContext ();
try {
mAPKExtensionFile = APKExpansionSupport.getAPKExpansionZipFile (ctx, mainFileVersion, patchFileVersion);
mInit = true;
return true;
} catch (IOException e) {
e.printStackTrace ();
}
return false;
}
}
如何访问AndroidManifest.xml文件中创建的ContentProvider
对象,以便修改mainFileVersion
和patchFileVersion
变量?我找到了另一个答案。我需要覆盖“呼叫”。例如:
ContentResolver cr = cordova.getActivity().getApplicationContext().getContentResolver();
String expansionAuthority = bundle.getString("expansion_authority", "");
cr.call (Uri.parse("content://" + expansionAuthority), "set_expansion_file_versions", null, bundle);
然后:
@Override public Bundle call (String method, String arg, Bundle bundle) {
if (method.equals("set_expansion_file_versions")) {
mainFileVersion = bundle.getInt("main_version" , 1);
patchFileVersion = bundle.getInt("patch_version", 1);
expansionAuthority = bundle.getString("expansion_authority", "com.sample.expansion");
xmlDataReceived = true;
return null;
}
return null;
}
您如何访问?你是什么意思?我希望能够从另一个类修改这些变量。