0

所以我不知道如何把它放在标题中,但我一直在尝试做的是让我的应用程序打开,比如说 YouTube,然后自动输入搜索(之前给出)。这是我的代码,它更容易解释。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Get the URL and search from the intent
    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    // Open browser and auto search in searchbar
    if (!message.startsWith("http://") && !message.startsWith("https://"))
    message = "http://" + message + ".com";
    Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(message));
    startActivity(browserIntent);
}

所以我想做的是打开 YouTube(这很好用),但是我想使用搜索中的下一个单词(用空格分隔)输入到 YouTube 的搜索栏中。

  1. 您输入的内容:Youtube 搞笑视频

  2. 将消息传递到第二个活动:打开 URL“Youtube”(到目前为止工作正常)

  3. 该活动识别“Youtube”之后的消息的其他部分(用空格分隔)并将它们放入 YouTube 的搜索栏中。

我怎样才能做到这一点?

4

1 回答 1

1

据我了解,您想要做的是从字符串中提取"youtube cat videos"部分"youtube""cat videos". 以下代码执行此操作:

String message = "youtube cat videos";
// Remove leading and trailing whitespaces.
message = message.trim();  
// Set limit to one so only the first  space is used to split.
String[] parts = message.split(" ", 2);  
// Check if domain and query are set.
if (parts.length < 2) {
    // Invalid.
}
String domain = parts[0];  
String query = parts[1];  
// Check if we have a valid domain name.
if (domain.matches("[a-zA-Z][a-zA-Z0-9]+")) {
    // Do stuff.
}

不要忘记使用 trim() 和 matches() 函数过滤无效查询。

于 2012-11-19T22:46:15.233 回答