Android AsyncTask与本地代码

3
以我没有C语言经验为前提,我想解决一个问题,这个问题影响到了我应用的发布。我有一个使用ffmeg进行文件转换的本地函数,在Android上通过AsyncTask调用它。
我需要停止本地函数运行,试过了几种方法:
1)我创建了一个名为“deleteRutine”的C函数来重置所有变量。(无效)
2)我在转换函数中添加了一个布尔变量,并通过Android方法将其设置为false。(无效)
还可以尝试什么?有什么建议吗?

如果正确执行,解决方案2是可行的。 - rui.araujo
2个回答

2
如 rui.araujo 所提到的,第二种方法应该可以在正确实现后正常工作。
从 Android 传递给本地函数的布尔值,请打印并检查其是否正确传递。大多数情况下,您的 JNI 方法实现可能存在问题,导致您的标志未被修改。
您的代码应该类似于这样:
while(FLAG==true)
{
     //Do Your task
}
return;

如果正确实施,这应该绝对有效。我在许多类似情况下使用过它。如果仍然存在问题,请编辑您的帖子并发布第二个实现的代码片段...


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接