2016-04-28 4 views
1

Ich möchte Benutzer ihre Objekte mit anderen teilen können.
Ich habe eine Tätigkeit, die die Objektinformation mit einer Intent-Filter wie folgt darstellen kann:Android: Wie kann ich einen Link teilen und eine Aktivität öffnen, wenn Benutzer auf diesen Link klicken

<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="http" android:host="www.mywebsite.com" /> 
</intent-filter> 

-Code zur gemeinsamen Nutzung:

Intent shareIntent = new Intent(Intent.ACTION_SEND); 
shareIntent.setType("text/plain"); 
shareIntent.putExtra(Constants.EXTRA_OBJECT_ID, id); 
shareIntent.putExtra(Constants.EXTRA_IS_LOCAL, false); 
shareIntent.putExtra(Intent.EXTRA_TEXT, "http://www.mywebsite.com"); 
startActivity(Intent.createChooser(shareIntent, "Share link using")); 

Aber wenn ich auf diesen Link klicken kann ich nicht meine Anwendung sehen im Dialog "Aktion abschließen mit".

Antwort

1

Derzeit versuchen Sie, den Link zu senden/zu teilen, aber Sie haben den Intent-Filter für die Ansicht in Ihrem Manifest hinzugefügt. Aus diesem Grund sollten Sie die Absicht Action auf View setzen und dann versuchen. Wie folgt aus:

Intent shareIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.mywebsite.com")); 

Dies ist, weil Sie die Absicht Filter Sicht Kategorie hinzugefügt haben, das ist:

<action android:name="android.intent.action.VIEW" /> 

Und wenn Sie den Link dann hinzufügen Kategorie von SEND in Intent-Filter wie diese gemeinsam nutzen möchten :

<action android:name="android.intent.action.SEND"/> 

Ich denke, das wird hilfreich für Sie sein!

+0

Ich möchte den Link zuerst als Text freigeben und dann die Aktivität öffnen, wenn der Benutzer auf diesen Link klickt –