<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def start_activity(self, appPackage, appActivity, **opts):
 """Opens an arbitrary activity during a test. If the activity belongs to another application, that application is started and the activity is opened. Android only. - _appPackage_ - The package containing the activity to start. - _appActivity_ - The activity to start. - _appWaitPackage_ - Begin automation after this package starts (optional). - _appWaitActivity_ - Begin automation after this activity starts (optional). - _intentAction_ - Intent to start (opt_ional). - _intentCategory_ - Intent category to start (optional). - _intentFlags_ - Flags to send to the intent (optional). - _optionalIntentArguments_ - Optional arguments to the intent (optional). - _stopAppOnReset_ - Should the app be stopped on reset (optional)? """



        # Almost the same code as in appium's start activity,
        # just to keep the same keyword names as in open application

        arguments = {
            'app_wait_package': 'appWaitPackage',
            'app_wait_activity': 'appWaitActivity',
            'intent_action': 'intentAction',
            'intent_category': 'intentCategory',
            'intent_flags': 'intentFlags',
            'optional_intent_arguments': 'optionalIntentArguments',
            'stop_app_on_reset': 'stopAppOnReset'
        }

        data = {}

        for key, value in arguments.items():
            if value in opts:
                data[key] = opts[value]

        driver = self._current_application()
        driver.start_activity(app_package=appPackage, app_activity=appActivity, **data)