16,216
社区成员
发帖
与我相关
我的任务
分享
QAndroidJniObject action = QAndroidJniObject::getStaticObjectField<jstring>("android/content/Intent", "ACTION_MAIN");
QAndroidJniObject intent("android/content/Intent", "(Ljava/lang/String;)V", action.object<jstring>());
if(intent.isValid() && action.isValid())
{
QAndroidJniObject category = QAndroidJniObject::getStaticObjectField<jstring>("android/content/Intent", "CATEGORY_HOME");
jint flag = QAndroidJniObject::getStaticField<jint>("android/content/Intent", "FLAG_ACTIVITY_NEW_TASK");
if(category.isValid())
{
intent.callObjectMethod("setFlags", "(LI;)Landroid/content/Intent", flag);
intent.callObjectMethod("addCategory", "(Ljava/lang/String;)Landroid/content/Intent", category.object<jstring>());
QtAndroid::startActivity(intent, 0);
qInfo() << "minimize application";
}
}
QAndroidJniObject activity = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative", "activity", "()Landroid/app/Activity;");
if(activity.isValid())
{
bool r = activity.callMethod<jboolean>("moveTaskToBack", "(Z)Z", false);
qInfo() << "minimize application: " << r;
}
QAndroidJniObject action = QAndroidJniObject::getStaticObjectField<jstring>("android/content/Intent", "ACTION_MAIN");
QAndroidJniObject intent("android/content/Intent", "(Ljava/lang/String;)V", action.object<jstring>());
if(intent.isValid() && action.isValid())
{
QAndroidJniObject category = QAndroidJniObject::getStaticObjectField<jstring>("android/content/Intent", "CATEGORY_HOME");
jint flag = QAndroidJniObject::getStaticField<jint>("android/content/Intent", "FLAG_ACTIVITY_NEW_TASK");
if(category.isValid())
{
intent.callObjectMethod("setFlags", "(I)Landroid/content/Intent;", flag);
intent.callObjectMethod("addCategory", "(Ljava/lang/String;)Landroid/content/Intent;", category.object<jstring>());
QtAndroid::startActivity(intent, 0);
qInfo() << "minimize application";
}
}
第二个方法还不清楚问题