2016-05-11 253 views
0

我想通过Android上的Chrome将当前网址分享给我的应用。我已经注册了共享意图和共享过滤器。到目前为止,我得到了一个共享的截图,但没有网址。我究竟做错了什么?仅限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); 

诀窍。

相关问题