- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用本指南 https://developers.facebook.com/docs/android/getting-started .我在 Facebook 的开发者页面上创建了应用程序,并在开发者设置中添加了包名、哈希键。
但是我收到了这个错误:Caused by: java.lang.NullPointerException: 参数 'applicationId' 不能为空
主要 Activity :
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
Session session = new Session.Builder(this).setApplicationId("597651723652854").build();
session.openActiveSession(this, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.welcome);
welcome.setText("Hello " + user.getName() + "!");
}
}
});
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.fuckufb"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data android:name="com.facebook.sdk.ApplicationId" android:resource="@string/app_id"/>
<activity
android:name="com.example.fuckufb.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.LoginActivity"></activity>
</application>
</manifest>
字符串.xml:
<string name="app_id">597651723652854</string>
最佳答案
你可以把它放在 manifest.xml 上
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
关于android - Facebook SDK 错误 :Argument 'applicationId' cannot be null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22516313/
我的 Android 仪器测试需要修改/清除应用程序数据,因此我希望它们使用单独的 applicationId,以便将私有(private)数据目录和共享首选项等内容分开。 在 Android d
我正在编写一个执行 hive 命令的 shell 脚本,将日志和输出信息写入两个单独的文件: hive -S -f pdr_extrator.sql 2> pdr_extrator_log.txt |
我已尝试修复此错误,但我不知道我的情况的主要问题是什么。 我收到的错误是关于添加依赖项或依赖项的版本如果有解决方案请帮助: 我的gradle文件: // Top-level build fil
我正在尝试运行这个简单的示例登录测试,但我总是遇到同样的问题:“applicationId”不能为空。我看过以前的问题,但没有人解决我的问题。提前致谢! 字符串.xml: FacebookShareT
我正在将 Hadoop 2.0 与 Cloudera 结合使用,并尝试使用 Java 程序来检查特定 Spark applicationID 是否正在运行并采取进一步的步骤。 我有触发特定 Spark
我们使用 install4j 创建了许多安装程序。现在我们的 DevOps 考虑重新组织应用程序 ID。今天它们都是由 IDE 创建的。但 DevOps 希望为他们提供结构。像这样的东西: Produ
我正在尝试为 Zendesk 库创建绑定(bind),但遇到了问题。 Zendesk Belvedere 库 (belvedere-1.0.2.1.aar) 在其 list 文件中包含一个文件提供程序
android { flavorDimensions 'app', 'region' productFlavors { app1 { dimen
大家好,我在哪里可以找到CertificateThumbprint和ApplicationId?我有租户 ID,但我不知道其余的。 谢谢。 $connectionName = "AzureRunAsC
大家好,我在哪里可以找到CertificateThumbprint和ApplicationId?我有租户 ID,但我不知道其余的。 谢谢。 $connectionName = "AzureRunAsC
我已经关注了连接到 facebook 的教程中的所有内容,但我仍然收到 applicationId cannot be null。 登录按钮: Android list :
这是我在 SO 中的第二个问题,我有一个关于 Fatal Main 错误的问题。在我问之前,我在 SO 中发现了一些其他问题,但我发现的是关于 Facebook 应用程序这是我的错误 java.lan
根据我在 msdn 上阅读的内容, 此属性返回应用程序的唯一标识符。但这究竟意味着什么? 它是在 IIS 上为该应用程序创建的一种 ID 吗? 或者它是在应用程序的不同 session 中生成的随机
将包名称与 applicationId 更改为最终 apk 之间有什么区别。 我知道在保留源代码方面有所不同,但可以说我得到了一些包名为 a.b.c.d 的应用程序。构建出来的apk文件会有什么不同
假设build.gradle中有applicationId com.example.application。此名称显示在“https://play.google.com/store/apps/deta
我修改了我的应用程序,因此我可以在单个移动设备上将调试和生产构建作为单独的应用程序: android { buildTypes { debug { applicationIdSuffi
我一直在按照以下教程将我的应用程序与 Facebook 集成。 Facebook tutorial 我已经按照教程中的所有内容进行了操作,但是在两种情况下我得到了 applicationId cann
在 Windows 7 中,我们有 ApplicationID 的概念,它允许(除其他外)将任务栏中的多个图标分组。如何从 C# 更改正在运行的进程的 ApplicationID?我正在尝试使用另一个
我已经从 Ant 脚本转移到 gradle 构建脚本。但我不知道有什么方法可以在 gradle 构建脚本中获取包名称或 applicationId。 最佳答案 project.afterEvaluat
我有一个具有 2 个 flavor 维度的应用程序。第一个维度,我们称之为“品牌”,有两种类型:“草莓”、“青色” 两者都有不同的 applicationIds,但我们可以只关注其中一个。假设“cya
我是一名优秀的程序员,十分优秀!