我开发了一个c
库。我使用c
JAVA
代码调用了库的JNI
函数:
jstring Java_com_example_openafreerdp_UnboundedService_invokeNativeFunction(JNIEnv* env, jobject obj) {
...
}
以这种方式从java调用JNI
函数:
public class UnboundedService extends Service {
static {
System.loadLibrary("hellondk");
}
private native String invokeNativeFunction();
private class JniBackGround extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... ss) {
final String str = invokeNativeFunction();
return str;
}
}
...
@Override
public void onStart(Intent intent, int startId) {
JniBackGround task = new JniBackGround();
task.execute(new String[] { "http://www.any.com" });
}
}
现在我的C函数需要很长时间才能完成执行。我想添加一个按钮来停止执行。我怎么能用JAVA阻止它?
答案 0 :(得分:0)
如果fx存在某种inf循环,while(true)
他总是可以使用while(someFlag)
并在新someFlag
内将invokeNativeStopFunction
设置为false ...如果他是使用一些curl库调用(我怀疑,因为url没有传递给native)他可以在那里取消curl请求......依此类推......
- Selvin