C++ Builder XE10.1 在安卓下把程序进行后台/前台切换代码分享
今天做安卓下的程序需要把程序切换到后台,在google是找了一阵,安卓的或.net或Delphi的都有,就是没C++ Builder的,于是只好照着Delphi的改了一份,现在给大家分享出来。
头文件要加一个。
#include <Androidapi.Helpers.hpp>
//切换任务(程序)到后台
void moveTaskToBack(void)
{
_di_JIntent intent;
intent = TJIntent::JavaClass->init();
intent->setAction(TJIntent::JavaClass->ACTION_MAIN);
intent->setFlags(TJIntent::JavaClass->FLAG_ACTIVITY_NEW_TASK);
intent->addCategory(TJIntent::JavaClass->CATEGORY_HOME);
SharedActivity()->startActivity(intent);
}
//得到ActivityManager类指针
_di_JActivityManager SharedActivityManager(void)
{
_di_JObject AService;
AService = SharedActivityContext()->getSystemService(TJContext::JavaClass->ACTIVITY_SERVICE);
_di_JActivityManager ActivityManager;
ActivityManager=TJActivityManager::Wrap(static_cast<_di_ILocalObject>(AService)->GetObjectID());
return ActivityManager;
}
//使用ActivityManager类的切换任务到前台函数。
SharedActivityManager()->moveTaskToFront(SharedActivity()->getTaskId(),TJIntent::JavaClass->FLAG_ACTIVITY_NEW_TASK);
本来delphi的例子中,ActivityManager类中也有个moveTaskToBack函数,不过,不知为什么,在C++ builder的.hpp文件中没找到。