Example | constant kIntentACTION_SEND is "android.intent.action.SEND"
constant kIntentEXTRA_TEXT is "android.intent.extra.TEXT"
constant kActivityRESULT_CANCELED is 0
constant kShareStringRequestCode is 123
__safe foreign handler _JNI_IntentNew(in pAction as JString) \
returns JObject \
binds to "java:android.content.Intent>new(Ljava/lang/String;)"
__safe foreign handler _JNI_IntentSetType(in pIntent as JObject, \
in pType as JString) \
returns JObject \
binds to "java:android.content.Intent>setType(Ljava/lang/String;)Landroid/content/Intent;"
__safe foreign handler _JNI_IntentPutExtraString(in pIntent as JObject, \
in pType as JString, \
in pValue as JString) \
returns JObject \
binds to "java:android.content.Intent>putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;"
handler _ShareStringResultListener( \
in pRequestCode as JInt, \
in pResultCode as JInt, \
in pIntent as optional JObject) returns nothing
if pResultCode is kActivityRESULT_CANCELED then
post "shareStringCancelled"
else
post "shareStringComplete"
end if
end handler
public handler ShareString(in pString as String) returns nothing
variable tIntent as JObject
put _JNI_IntentNew(StringToJString(kIntentACTION_SEND)) into tIntent
_JNI_IntentSetType(tIntent, StringToJString("text/plain"))
_JNI_IntentPutExtraString( \
tIntent, \
StringToJString(kIntentEXTRA_TEXT), \
StringToJString(pString))
StartActivityForResult( \
tIntent, \
kShareStringRequestCode, \
_ShareStringResultListener)
end handler
|