German URL teilen, dann meine App vorschlagen

so27

Active Member
Licensed User
Longtime User
Hallo zusammen,

ich habe eine App geschrieben, welche URLs verarbeitet. Nun hätte ich gerne, dass wenn eine URL geteilt wird (egal aus welcher App), meine App in den vorgeschlagenen Apps auftaucht.

Weiß jemand, wie ich das realisieren kann?
 

so27

Active Member
Licensed User
Longtime User
Okay, dass meine App nun im Teilen-Menü angezeigt wird, habe ich mit dieser Codezeile im Manifest hinbekommen:
B4X:
AddActivityText(Main,
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>)

Jetzt bleibt nur noch die Frage, wie ich den geteilten Inhalt an meine Textbox1.text übergebe?
 

so27

Active Member
Licensed User
Longtime User
So, ich habe die Lösung. Jeden den es interessiert, hier nochmals die Vorgehensweise:

1.) Ins Manifest folgenden Code einfügen:
B4X:
AddActivityText(Main,
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" /> ' Bei Bilder "Image/*"...
</intent-filter>)

2.) In Activity_Create nachfolgenden Code einfügen:
B4X:
Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
   
    Activity.LoadLayout("Main") ' WICHTIG! Zuerst das LoadLayout!!!!

      Dim Intent1 As Intent
    Intent1 = Activity.GetStartingIntent
    If Intent1.Action = "android.intent.action.SEND" Then
        Log("Invoked by Share Via")
        txtURL.Text = Intent1.GetExtra("android.intent.extra.TEXT") ' txtURL.Text erhält in dem Fall den geteilten Text
    Else If Intent1.Action = "android.intent.action.MAIN" Then
        Log("Invoked by Clicking on App")
    Else       
        Log("Should not happen")
    End If 

' Hier die Logs, diese können entfernt werden. 
    Log("Action    :"&Intent1.Action)
    Log("GetExtra :"&Intent1.GetExtra("android.intent.extra.TEXT"))
    Log("Extras    :"&Intent1.ExtrasToString)
    Log("GetData :"&Intent1.GetData)
    Log("GetExtra:"&Intent1.GetExtra("android.intent.extra.TEXT"))
    Log(Intent1.HasExtra("EXTRA_TEXT"))
   
   
End Sub

Fertig!
 
Top