2016-12-28 6 views
0

Я использовал нижеуказанную ссылку для подтвержденного номера мобильного телефона с помощью набора для учетной записи Facebook.Номер мобильного телефона пользователя, не подтвержденный через учетную запись Facebook, только проверка через смс при использовании учетной записи Facebook kit

https://developers.facebook.com/docs/accountkit/android

Добавить facebook приложение идентификатор, идентификатор клиента и маркер приложения, все необходимые разрешения использовать в manifest файл как RECEIVE_SMS, READ_PHONE_STATE, INTERNET.

<activity 
     android:name="com.facebook.accountkit.ui.AccountKitActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="@string/ak_login_protocol_scheme" /> 
     </intent-filter> 
    </activity> 

FACEBOOK_APP_ID (XXXXXXX), ACCOUNT_KIT_CLIENT_TOKEN (ххххх), ak_login_protocol_scheme (akxxxxxx) определяют в string.xml и использовать код в приложение, которое упоминается в приведенной выше ссылке. Он работает только для подтвержденного номера мобильного телефона, используя SMS, не проверенную прямую учетную запись facebook. Пожалуйста, предоставьте мне какое-либо решение для решения этой проблемы.

класс MainActivity

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 
    Button send; 
    public static int APP_REQUEST_CODE = 99; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     AccountKit.initialize(getApplicationContext()); 
     send = (Button) findViewById(R.id.send); 
     send.setOnClickListener(this); 
    } 


    @Override 
    public void onClick(View v) { 
     onLoginPhone(); 
    } 

    public void onLoginPhone() { 
     final Intent intent = new Intent(this, AccountKitActivity.class); 
     AccountKitConfiguration.AccountKitConfigurationBuilder configurationBuilder = new AccountKitConfiguration.AccountKitConfigurationBuilder(LoginType.PHONE, AccountKitActivity.ResponseType.TOKEN); 
     intent.putExtra(AccountKitActivity.ACCOUNT_KIT_ACTIVITY_CONFIGURATION, configurationBuilder.build()); 
     startActivityForResult(intent, APP_REQUEST_CODE); 
    } 

    @Override 
    protected void onActivityResult(
     final int requestCode, 
     final int resultCode, 
     final Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     if (requestCode == APP_REQUEST_CODE) { // confirm that this response matches your request 
      AccountKitLoginResult loginResult = data.getParcelableExtra(AccountKitLoginResult.RESULT_KEY); 
      String toastMessage; 
      if (loginResult.getError() != null) { 
       toastMessage = loginResult.getError().getErrorType().getMessage(); 
       Toast.makeText(this, "Get Error " + loginResult.getError(), Toast.LENGTH_LONG).show(); 
      } else if (loginResult.wasCancelled()) { 
       toastMessage = "Login Cancelled"; 
      } else { 
       if (loginResult.getAccessToken() != null) { 
        toastMessage = "Success:" + loginResult.getAccessToken().getAccountId(); 
       } else { 
        toastMessage = String.format("Success:%s...", loginResult.getAuthorizationCode().substring(0, 10)); 
       } 
       Toast.makeText(this, "Successfully done", Toast.LENGTH_LONG).show(); 
      } 
      Toast.makeText(this, toastMessage, Toast.LENGTH_LONG).show(); 
     } 
    } 
+0

Перенаправление AccountKitActivity намерение, что вы вставили необходимо только, если вы используете комплект учетной записи электронной почты авторизоваться. Вы можете удалить это, если вы не используете электронную почту. Я не уверен в вашем вопросе - можете ли вы уточнить, что «он работает только для подтвержденного мобильного номера, используя SMS, не проверенную прямую учетную запись facebook». Учетная запись - это отдельный продукт из Facebook Login. –

ответ

0

ak_login_protocol_scheme ваше приложение идентификатор добавить «ак» Exemple:

<string name="app_id">1455555555555555555/string> 
<string name="ACCOUNT_KIT_CLIENT_TOKEN">332555dcdcddccszzd</string> 

<string name="ak_login_protocol_scheme">ak1455555555555555555</string> 
Смежные вопросы