我的操作栏上有一个操作按钮,点击时会打开一个固定的网址,它工作正常,但我不希望自己的应用程序出现在选择器对话框中#34;使用"完成操作只显示手机默认浏览器(如Chrome或Mozilla),实际上它显示Chrome和我的应用程序作为打开网址的选项。我从这里实现了这段代码:http://developer.android.com/intl/es/guide/components/intents-common.html
这是我的代码:
//的Manifest.xml
<activity
android:name="pepubli.com.Controlador.Ciudad_Escogida"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="http"/>
<category android:name="android.intent.category.DEFAULT" />
<!-- The BROWSABLE category is required to get links from web
pages. -->
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
// Ciudad_Escogida.Java
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == R.id.web_page){
Uri webpage = Uri.parse("http://www.pepubli.com");
Intent intent = new Intent(Intent.ACTION_VIEW, webpage);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
return super.onOptionsItemSelected(item);
}
答案 0 :(得分:2)
从应用程序清单中删除此行。
<category android:name="android.intent.category.BROWSABLE" />
也删除
<data android:scheme="http"/>
并替换
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
到
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
所以你的意图过滤器应该像
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>