android file open

I develop android app.
I want to open my text file in plugin, but it can not open file.
My code is following,

// plugin side
void openTextTest(char* filename, jobject asset_manager){

	AAssetManager* mgr = AAssetManager_fromJava(env, asset_manager);
	if(mgr!=NULL){

		AAsset* asset = AAssetManager_open(mgr, filename, AASSET_MODE_UNKNOWN);
		if(asset!=NULL){	// AAssetManager_open() return NULL. Why?
			...
			AAsset_close(asset);
		}
	}
}
// cs script side
void OnGUI(){

	string setting_path = Application.persistentDataPath + "/assets/sample.txt";

	IntPtr cls_Activity	= (IntPtr)AndroidJNI.FindClass("com/unity3d/player/UnityPlayer");
	IntPtr fid_Activity	= AndroidJNI.GetStaticFieldID(cls_Activity, "currentActivity", "Landroid/app/Activity;");
	IntPtr obj_Activity	= AndroidJNI.GetStaticObjectField(cls_Activity, fid_Activity);
	
	IntPtr obj_cls = AndroidJNI.GetObjectClass(obj_Activity);
	IntPtr asset_func = AndroidJNI.GetMethodID(obj_cls, "getAssets", "()Landroid/content/res/AssetManager;");
	jvalue[] asset_array = new jvalue[2];	// <- ?
	IntPtr assetManager = AndroidJNI.CallObjectMethod(obj_Activity, asset_func, asset_array);
	if(assetManager!=null){
		openTextTest(setting_path, assetManager);
	}
}

Where is wrong?

I wrote.
I checked as follows.

//plugin side
jstring openTextTest(char* filename, jobject asset_manager){
	AAssetManager* mgr = AAssetManager_fromJava(env, asset_manager);
	if(mgr!=NULL){
		AAsset* asset = AAssetManager_open(mgr, filename, AASSET_MODE_UNKNOWN);
		if(asset!=NULL){	// AAssetManager_open() return NULL. Why?
			...
			AAsset_close(asset);
			return env->NewStringUTF("success!");
		}
		return env->NewStringUTF("asset open failure!");
	}
	return env->NewStringUTF("failure!");
}

As a result, this return “asset open failure!”.

Sorry, i solved by setting a path as follows. Thank you.

string setting_path = "sample.txt";