从extras中提取子字符串并附加到另一个变量

时间:2013-03-29 04:47:18

标签: android string android-intent

经过数天的研究和众多的编译错误......我想我需要社区的一些帮助。

我有一个简单的应用程序,可以通过另一个应用程序的共享意图检索网址。 我想从intent的stringextra(这是一个url)中提取一个值,将其添加到我脚本的url的末尾,并将该最终字符串作为URL发送到URLconnection httpget请求。

我已将脚本的url定义为变量。 我已经得到了意图及其附加内容并将其放入变量中。 我试图只是连接我的url变量和stringextra变量无济于事, URLconnectio给了我一个MalformedURLException。我已经记录了concat'd变量 它看起来与我想要的完全一样,但出于某种原因,它不会通过。

所以现在,我正试图从stringextra中删除我需要的部分并将其放在我的脚本的url上,然后从新形成的字符串中取出http get请求。 所以.... 如何在“v =”之后提取11个字符,这是在stringextra中,即 一个名为sharedText的变量?

    String goLoQooUrl = "http://my.domain.my/script.php?link=";


    private static final String TAG = "LTV";


@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Intent rIntent = getIntent();
    String rAction = rIntent.getAction();
    String rType = rIntent.getType();
    if (Intent.ACTION_SEND.equals(rAction) && "text/plain".equals(rType))
    displaySentText(rIntent);

    }

private void displaySentText (Intent rIntent) {
    String sharedText = rIntent.getStringExtra(Intent.EXTRA_TEXT);
    if (sharedText == null) return;
    if (sharedText.startsWith("http://")) {
    TextView url = (TextView) findViewById(R.id.URL);
    url.setText(String.valueOf(sharedText));

    ****String w = goLoQooUrl+SUBSTRING***** this is what I want
    Log.d("TAG", w);

    };
    playOnLoqooTv(w);
    }

private void playOnLoqooTv (String w) { 
   try {
          StrictMode.ThreadPolicy policy = new
          StrictMode.ThreadPolicy.Builder().permitAll().build();
          StrictMode.setThreadPolicy(policy); 
          URL url = new URL(w);

我尝试了很多事无济于事 即尝试使用substring方法,它给了我一个关于该方法的错误 不可用我可能没有把它称为正确。

宇宙中的任何一位大师能否发光?

1 个答案:

答案 0 :(得分:1)

试试这个: -

int indexOfv = sharedText.indexOf("="); // Get the index of =
indexOfv++; // To get the substring after this element.
String subString = sharedText.substring(indexOfv, indexOfv+11); //Get the 11 characters after the = sign.