Google 现在拦截 `Intent.ACTION_VIEW`(奇怪)
Google Now intercepts `Intent.ACTION_VIEW` (Strange)
我的问题有点奇怪,但我会尽量具体一点。
这是我的代码。
if(l.contains("search yahoo")||l.contains("yahoo search")&& !l.contains("search yahoo search"))
{
String query = l;
query = query.replace("search", "");
query = query.replace("yahoo", "");
String url = "http://search.yahoo.com/search?p=" + query;
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
if(l.contains("search bing")||l.contains("bing search")&& !l.contains("search bing search"))
{
String query = l;
query = query.replace("search", "");
query = query.replace("bing", "");
String url = "http://www.bing.com/search?q=" + query + "&go=Submit&qs=ds&form=QBLH";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
else {
String v2txt = txt2SpeechWords.get(0);
v2txt = v2txt.replace("search", "");
txt2Speech.speak("searching " + v2txt, TextToSpeech.QUEUE_FLUSH, null);
Intent search = new Intent(Intent.ACTION_WEB_SEARCH);
search.putExtra(SearchManager.QUERY, v2txt);
startActivity(search);
}
在我的程序决定是否应该搜索 Yahoo! 的部分或 Bing 对于 Bing 它工作得很好。
但是对于雅虎!它在网络浏览器中打开,但当我点击我设备上的后退按钮时,它打开 Google 现在查询除了 Yahoo & Search 字样,因为我已经在代码中替换了它们。
为什么会这样?我很确定问题是在它决定使用哪个搜索引擎之后出现的 Google 现在它删除了 Yahoo!
这个词
为什么 Intent.ACTION_VIEW
被 Google 截获现在是 Yahoo!部分 while 这不会发生在 Bing 部分。这很讽刺,因为我几乎复制了 Yahoo!将代码写入记事本,将 Yahoo 替换为 Bing 并将其粘贴到 Android Studio 中。
我犯了最愚蠢的错误。在雅虎部分是 if
,在 bing 中也是 if
。 Bing 的 if
声明必须 else if
。我的问题也有错误。在 google 现在它不会取代 Yahoo!因此 if
语句是错误的。我刚刚注意到。抱歉。
正确代码:
if(l.contains("search yahoo")||l.contains("yahoo search")&& !l.contains("search yahoo search"))
{
String query = l;
query = query.replace("search", "");
query = query.replace("yahoo", "");
String url = "http://search.yahoo.com/search?p=" + query;
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
else if(l.contains("search bing")||l.contains("bing search")&& !l.contains("search bing search"))
{
String query = l;
query = query.replace("search", "");
query = query.replace("bing", "");
String url = "http://www.bing.com/search?q=" + query + "&go=Submit&qs=ds&form=QBLH";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
else {
String v2txt = txt2SpeechWords.get(0);
v2txt = v2txt.replace("search", "");
txt2Speech.speak("searching " + v2txt, TextToSpeech.QUEUE_FLUSH, null);
Intent search = new Intent(Intent.ACTION_WEB_SEARCH);
search.putExtra(SearchManager.QUERY, v2txt);
startActivity(search);
}
我的问题有点奇怪,但我会尽量具体一点。 这是我的代码。
if(l.contains("search yahoo")||l.contains("yahoo search")&& !l.contains("search yahoo search"))
{
String query = l;
query = query.replace("search", "");
query = query.replace("yahoo", "");
String url = "http://search.yahoo.com/search?p=" + query;
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
if(l.contains("search bing")||l.contains("bing search")&& !l.contains("search bing search"))
{
String query = l;
query = query.replace("search", "");
query = query.replace("bing", "");
String url = "http://www.bing.com/search?q=" + query + "&go=Submit&qs=ds&form=QBLH";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
else {
String v2txt = txt2SpeechWords.get(0);
v2txt = v2txt.replace("search", "");
txt2Speech.speak("searching " + v2txt, TextToSpeech.QUEUE_FLUSH, null);
Intent search = new Intent(Intent.ACTION_WEB_SEARCH);
search.putExtra(SearchManager.QUERY, v2txt);
startActivity(search);
}
在我的程序决定是否应该搜索 Yahoo! 的部分或 Bing 对于 Bing 它工作得很好。 但是对于雅虎!它在网络浏览器中打开,但当我点击我设备上的后退按钮时,它打开 Google 现在查询除了 Yahoo & Search 字样,因为我已经在代码中替换了它们。
为什么会这样?我很确定问题是在它决定使用哪个搜索引擎之后出现的 Google 现在它删除了 Yahoo!
这个词为什么 Intent.ACTION_VIEW
被 Google 截获现在是 Yahoo!部分 while 这不会发生在 Bing 部分。这很讽刺,因为我几乎复制了 Yahoo!将代码写入记事本,将 Yahoo 替换为 Bing 并将其粘贴到 Android Studio 中。
我犯了最愚蠢的错误。在雅虎部分是 if
,在 bing 中也是 if
。 Bing 的 if
声明必须 else if
。我的问题也有错误。在 google 现在它不会取代 Yahoo!因此 if
语句是错误的。我刚刚注意到。抱歉。
正确代码:
if(l.contains("search yahoo")||l.contains("yahoo search")&& !l.contains("search yahoo search"))
{
String query = l;
query = query.replace("search", "");
query = query.replace("yahoo", "");
String url = "http://search.yahoo.com/search?p=" + query;
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
else if(l.contains("search bing")||l.contains("bing search")&& !l.contains("search bing search"))
{
String query = l;
query = query.replace("search", "");
query = query.replace("bing", "");
String url = "http://www.bing.com/search?q=" + query + "&go=Submit&qs=ds&form=QBLH";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
else {
String v2txt = txt2SpeechWords.get(0);
v2txt = v2txt.replace("search", "");
txt2Speech.speak("searching " + v2txt, TextToSpeech.QUEUE_FLUSH, null);
Intent search = new Intent(Intent.ACTION_WEB_SEARCH);
search.putExtra(SearchManager.QUERY, v2txt);
startActivity(search);
}