打开网址

时间:2016-04-29 06:10:51

标签: java android xml

我的操作栏上有一个操作按钮,点击时会打开一个固定的网址,它工作正常,但我不希望自己的应用程序出现在选择器对话框中#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);
}

1 个答案:

答案 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>