File indexing completed on 2025-02-16 04:48:26
0001 /* 0002 SPDX-FileCopyrightText: 2019 Volker Krause <vkrause@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "activity.h" 0008 0009 #include <KAndroidExtras/AndroidTypes> 0010 #include <KAndroidExtras/Intent> 0011 #include <KAndroidExtras/JniSignature> 0012 0013 #include <QCoreApplication> 0014 #include <QJniEnvironment> 0015 #include "private/qandroidextras_p.h" 0016 0017 using namespace KAndroidExtras; 0018 0019 Intent Activity::getIntent() 0020 { 0021 const QJniObject activity = QNativeInterface::QAndroidApplication::context(); 0022 if (!activity.isValid()) 0023 return {}; 0024 0025 const auto intent = activity.callObjectMethod("getIntent", Jni::signature<android::content::Intent()>()); 0026 return Intent(Jni::fromHandle<Intent>(intent)); 0027 } 0028 0029 bool Activity::startActivity(const Intent &intent, int receiverRequestCode) 0030 { 0031 QJniEnvironment jniEnv; 0032 QtAndroidPrivate::startActivity(intent, receiverRequestCode); 0033 if (jniEnv->ExceptionCheck()) { 0034 jniEnv->ExceptionClear(); 0035 return false; 0036 } 0037 return true; 0038 }