android - एंड्रॉइड एनडीके(देशी गतिविधि) एप्लिकेशन को प्रोग्रामैटिक रूप से कैसे समाप्त करें?



android-ndk (1)

जब मैंने अनुरोध किया कि आवेदन अनुरोध समाप्त होने पर मैंने कोड से ANativeActivity_finish (राज्य-> गतिविधि) को कॉल करने की कोशिश की है। यह काम करता है, हालांकि मेरा अनुप्रयोग पुनरारंभ नहीं किया जा सकता है और यह लॉगकाट में निम्नलिखित को दिखाता है:

W/ActivityManager(  238): Duplicate finish request for HistoryRecord

जब उपयोगकर्ता को वापस बटन दबाया जाता है, तो सब कुछ ठीक से काम करता है, लेकिन मुझे अपने आवेदन के भीतर से बाहर निकलें कमांड जारी करने में सक्षम होना चाहिए। कोई उपाय?


ये तरीका है। मुझे नहीं पता कि आप बिल्कुल कैसे कर रहे हैं, मुझे लगता है कि आप कोड के अंत में उस कॉल करते हैं, और फिर एंड्रॉइड_माइन से लौटें।

आपको ANativeActivity_finish() और android_app->destroyRequested तक ईवेंट android_app->destroyRequested साथ जारी android_app->destroyRequested । आपके ईवेंट हैंडलर में, आपको उपयुक्त APP_CMD_STOP और APP_CMD_DESTROY

इसे इस तरह से करना, अब मुझे कोई समस्या नहीं है मैं इसे एक्जिट (0) के साथ करता था, लेकिन यह सही बात नहीं थी





android-ndk