2016-05-11 11 views
0

AndroidのChromeから現在のURLを自分のアプリに共有します。私はshare-intentとshare-filterを登録しました。これまでのところ、私は共有のスクリーンショットを取得しますが、URLは取得しません。何が間違っているのですか?Android Chrome共有のみスクリーンショット

マニフェストファイル

<activity 
     android:name=".activity.share.ShareActivity" 
     android:label="@string/app_name" 
     android:theme="@style/Theme.AppCompat.Light"> 
     <!-- Parent activity meta-data to support API level 7+ --> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".activity.main.MainActivity" /> 
    <intent-filter> 
     <action android:name="android.intent.action.SEND" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <data android:mimeType="text/plain" /> 
    </intent-filter> 

これは何のURLまたはURIがありませんShareActivityクラスのメソッドで使用されるコード・スニペット

public URI shareUriFromIntent() { 
    Intent intent = getIntent(); 
    String action = intent.getAction(); 
    String type = intent.getType(); 
    if (type != null && "text/plain".equals(type)) { 
     ClipData data = intent.getClipData(); 
     for (int i = 0; i < data.getItemCount(); i++) { 
      ClipData.Item item = data.getItemAt(i); 

//breakpoint: output> ClipData { text/uri-list "" {U:content://com.android.chrome.FileProvider/images/screenshot/1462970510861-711948848.jpg} } 

       if (item.getText() != null) { 
        String shareText = item.getText().toString(); 
        if (shareText.contains("http:/") 
          || shareText.contains("https:/")) { 
         shareText = shareText.substring(shareText.indexOf("http")); 
         return URI.create(shareText); 
        } 
       } 
      } 
     } 
    return null; 
    } 

で、私が使用しているだろう。何が間違っているのですか?

答えて

1
final String link = intent.getStringExtra(Intent.EXTRA_TEXT); 

でした。

関連する問題