我正在使用FragmentActivity作为持有者。显示LoginFragment时,第二次调用应用程序时会出现问题。
当我运行应用程序时发生这种特殊崩溃,我点击推送通知(我认为它启动了应用程序,这是logcat给我这个时间):
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.Collection.iterator()' on a null object reference
at com.facebook.internal.Utility.isSubset(Utility.java:315)
at com.facebook.widget.LoginButton$LoginButtonProperties.validatePermissions(LoginButton.java:151)
at com.facebook.w
idget.LoginButton$LoginButtonProperties.setReadPermissions(LoginButton.java:126)
at com.facebook.widget.LoginButton.setReadPermissions(LoginButton.java:335)
at com.joaquimley.sal15.fragments.LoginFragment.init(LoginFragment.java:90)
at com.joaquimley.sal15.fragments.LoginFragment.onCreateView(LoginFragment.java:75)
这里是LoginFragment.java init()方法:
v.findViewById(R.id.btn_no_login).setOnClickListener(this);
LoginButton authButton = (LoginButton) v.findViewById(R.id.authButton);
authButton.setFragment(this);
authButton.setReadPermissions(FacebookHelper.getPermissions());
答案 0 :(得分:0)
这几乎可以肯定是因为您的FacebookHelper.getPermissions()返回空值。如果你查看Utility.java的源代码,它会迭代子集(这是你传入的内容),如果那是抛出NPE,那是因为FacebookHelper.getPermissions()给你null。