一切都准备好了,测试过了。正准备高兴一下。用小手机一试,我去,出bug了,excel关闭后,不能正常触发onActivityResult。
之前用开发专用平板,都一切正常啊。
于是折腾几小时。
今天解决了,如下:
void openExcel() {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setPackage(“com.microsoft.office.excel”);
i.setDataAndType(printFileUri, “application/vnd.ms-excel”);
startActivityForResult(i, 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
Toast.makeText(MainActivity.this, “已关闭excel”, Toast.LENGTH_LONG)
.show();
}
}
以上代码在Android Lollipop 即:android 5.0及以上系统正常执行。
而在Android 5.0以下,Android 4.4之类的,我试过,就是不能正常执行,总是在startActivityForResult时,立即执行 onActivityResult。
我也在网上搜索了,很多国内国外的资料,没有找到这个问题的描述。全是谈到
android:launchMode=”singleInstance” 之类的。
可是我遇到的明显不是这个问题。
昨晚折腾几个小时,都没有解决。今早,用另一个android 5.1的手机来测试,一切正常。和昨天用android 5系统版本的平板测试的一样。
说明,的确在android 5以上系统Android Lollipop 正常,Android Lollipop版本以下的,不能正常执行。
在此记录一下,避免其他人再走弯路。