facebook在浏览器上打开而不是在facebook App上

时间:2014-09-15 09:14:38

标签: java android facebook

我试图为#34;某人" else会在应用程序上打开,而不是在浏览器上打开,例如国家地理https://www.facebook.com/natgeo

这是我的代码:

ddc.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {

      Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/natgeo"));
      startActivity(browserIntent);
    }
});

我在stackoverflow上发现了一个,我尝试了它并且它有错误,这里是代码:

try {
    //try to open page in facebook native app.
    String uri = "fb://page/" + natgeo;    //Custom URL
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
    startActivity(intent);   
}
catch (ActivityNotFoundException ex){
    //facebook native app isn't available, use browser.
    String uri = "https://www.facebook.com/natgeo" + natgeo;  //Normal URL  
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uriMobile));    
    startActivity(i); 
}

我想要的是,如果有人没有Facebook App,它将在浏览器中打开。


被修改

package fa;

import com.f.fa.R;

import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;

public class MainActivity extends Activity {

    Button ddc;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_item);
        addListenerOnButton();
    }

    public void addListenerOnButton() {

        ddc = (Button) findViewById(R.id.ddc);

        try {
              //try to open page in facebook native app.
              String uri = "fb://page/" + natgeo;    //Custom URL
              Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
              startActivity(intent);   
        }
        catch (ActivityNotFoundException ex){
              //facebook native app isn't available, use browser.
              String uri = "https://www.facebook.com/natgeo" + natgeo;  //Normal URL  
              Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));    
              startActivity(i); 
        }
    }
}

1 个答案:

答案 0 :(得分:0)

使用之前未声明的变量(读取编译器错误)..

在try-catch块之前添加String natgeo = "my content";以进行代码编译。