Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java/Android:如何访问AndroidManifest.xml中声明的ContentProvider?_Java_Android - Fatal编程技术网

Java/Android:如何访问AndroidManifest.xml中声明的ContentProvider?

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

AndroidManifest.xml:

我有一个
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;
}

您如何访问?你是什么意思?我希望能够从另一个类修改这些变量。