Java facebook在浏览器上打开而不是在facebook应用程序上打开

Java facebook在浏览器上打开而不是在facebook应用程序上打开,java,android,facebook,Java,Android,Facebook,我试图让“别人”的facebook在应用程序上打开,而不是在浏览器上打开,例如国家地理 以下是我的代码: ddc.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/na

我试图让“别人”的facebook在应用程序上打开,而不是在浏览器上打开,例如国家地理

以下是我的代码:

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应用程序,它将在浏览器中打开


编辑

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); 
        }
    }
}

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


添加
String natgeo=“我的内容”在您尝试使用catch块编译代码之前。

您会遇到哪些错误?“natgeo”有一个错误,认为它应该出现在那里(我不知道)。。“uriMobile”是错的,我不知道他们想要这个号码请解释清楚。。。如果你得到一个例外,那么告诉我们。如果您认为变量有错误的内容,请调试它。试试我回答中的建议,很好。请在发布下一个问题之前阅读。特别是包括所有相关的代码部分。然后你会得到一个更快的答案;-)如果你不介意的话,还有一个问题。。代码:[String natgeo=“natgeo”;String uri=“fb://Page/”+natgeo;]它打开facebook应用程序,但在我的帐户上打开,我不想这样,我如何才能将其更改为打开natgeo帐户?我不知道,你应该为此打开一个新问题