【问题标题】:facebook opening on a browser not on facebook Appfacebook 在浏览器上打开,而不是在 facebook 应用程序上
【发布时间】:2019-01-03 10:32:07
【问题描述】:

我正在尝试为“其他人”创建 facebook 在应用程序上打开,而不是在浏览器上打开,例如 National Geography 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); 
        }
    }
}

【问题讨论】:

  • 您遇到了哪些错误?
  • "natgeo" 有一个错误认为它应该去那里(我不知道).. "uriMobile" 是错误的,我不知道他们想要这个号码
  • 请解释得更清楚...如果您遇到异常,请告诉我们。如果您认为变量的内容有误,请调试它。试试我的回答中的建议

标签: java android facebook


【解决方案1】:

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

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

【讨论】:

  • 很好。在发布您的下一个问题之前,请阅读"How to ask a good question?"。特别是包括所有相关的代码部分。然后你会得到一个更快的答案;-)
  • 如果您不介意,请提出一个问题.. 这段代码:[String natgeo = "natgeo"; String uri = "fb://Page/" + natgeo;] 它打开 facebook 应用程序,但在我的帐户中打开,我不希望这样,如何更改它以打开 natgeo 帐户?
  • 我不知道,你应该为此打开一个新问题
猜你喜欢
  • 2016-01-10
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-20
相关资源
最近更新 更多