2016-05-11 4 views
0

Я хочу поделиться текущим адресом через Chrome на Android в своем приложении. Я зарегистрировал соглашение о совместном использовании и общий фильтр. Пока я получаю общий снимок экрана, но не 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> 

Это код-фрагмент используется в методе в 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; 
    } 

Там нет URL или URI, я использовал бы. Что я делаю не так?

ответ

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

сделал трюк.

Смежные вопросы