Hi Folks.... was calling the setFlags wrong.
this is the code I ended up with and working (tho no error checking atm)
QAndroidJniObject path=QAndroidJniObject::fromString("content://blahSuiteQL.fileprovider/mypdf/" + tmpStra);
QAndroidJniObject jniUri = QAndroidJniObject::callStaticObjectMethod("android/net/Uri", "parse", "(Ljava/lang/String;)Landroid/net/Uri;", path.object<jstring>());
QAndroidJniObject jniParam = QAndroidJniObject::getStaticObjectField<jstring>("android/content/Intent", "ACTION_VIEW");
QAndroidJniObject intent("android/content/Intent","()V");
intent.callObjectMethod("setAction","(Ljava/lang/String;)Landroid/content/Intent;",jniParam.object<jstring>());
QAndroidJniObject jniType = QAndroidJniObject::fromString("application/pdf");
jint jniPermissions = QAndroidJniObject::getStaticField<jint>("android/content/Intent","FLAG_GRANT_READ_URI_PERMISSION");
intent.callObjectMethod("setFlags", "(I)Landroid/content/Intent;",jniPermissions);
intent.callObjectMethod("setDataAndType", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;", jniUri.object<jobject>(), jniType.object<jstring>());
QAndroidJniObject activity = QtAndroid::androidActivity();
QAndroidJniObject packageManager = activity.callObjectMethod("getPackageManager","()Landroid/content/pm/PackageManager;");
intent.callObjectMethod("resolveActivity","(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName;",packageManager.object());
QtAndroid::startActivity(intent, 0);
Kind Regards
Craig