Java 在意图完成后调用函数
我认为这是一个简单的问题,但找不到答案。 我得到了一段代码:Java 在意图完成后调用函数,java,android,android-intent,Java,Android,Android Intent,我认为这是一个简单的问题,但找不到答案。 我得到了一段代码: public void onButtonClick(View v) { Intent intent = new Intent(); intent.setAction(android.content.Intent.ACTION_VIEW); File file = new File(root + "/Doppen/"+ "doppen.txt"); intent.setDataAndType(Uri.
public void onButtonClick(View v) {
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(root + "/Doppen/"+ "doppen.txt");
intent.setDataAndType(Uri.fromFile(file), "text/*");
startActivityForResult(intent, 1);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, getIntent());
if(resultCode==RESULT_OK && requestCode==1){
System.out.println("RESULT :D");
}
}
你知道这里怎么了吗
我打开一个文本文件,但在用户点击“保存”后,我想调用另一个函数。
如何自动执行此操作?那么,如何检查用户何时点击“保存”或意图何时完成 编辑1: 我发现了一个问题: 当我注释
if(resultCode==RESULT\u OK&&requestCode==1){
时,它会在完成后打印结果,所以我知道它哪里出错了,现在问题是为什么:p
编辑2:
requestCode不会打印“1”,所以这很好。但是resultCode打印“0”,这不好
编辑3:
找到了答案,可能对其他人也有用。按下Save后,我使用手机的back按钮返回应用程序,但结果代码为“0”。调用
startActivityForResult()
而不是startActivity()
。当活动完成时,您将收到对活动的onActivityResult()的回调
方法,您可以在其中执行所需操作
有关更多信息,请参阅
编辑:
RESULT\u OK
是一个标准的结果代码,但是活动可以自由返回大于或等于RESULT\u FIRST\u USER
的其他值。零是RESULT\u cancelled
,通常在有人按下后退按钮时发生。调用startActivityForResult()
而不是startActivity())
。活动完成后,您将得到一个对活动的onActivityResult()
方法的回调,您可以在其中执行所需操作
有关更多信息,请参阅
编辑:
RESULT\u OK
是一个标准的结果代码,但是活动可以自由返回大于或等于RESULT\u FIRST\u USER
的其他值。零是RESULT\u cancelled
,这通常发生在有人按下后退按钮时。你能再次检查我的问题吗(稍微更改一下),我尝试了这个方法(也使用了互联网示例)但我似乎无法使其工作:(你能再次检查我的问题吗(稍微更改一下),我尝试了这个(也使用了互联网示例),但似乎无法使其工作:(尝试在ActivityResult上的之前添加“@Override”
@jmhend谢谢你的回答,但没有工作尝试添加“@Override”在onActivityResult之前@jmhend感谢您的回复,但没有起作用