Невозможно вставить событие в API календаря Google [дубликат]

Нет, вы не можете использовать mysql и mysqli вместе. Они представляют собой отдельные API-интерфейсы, и создаваемые ими ресурсы несовместимы друг с другом.

Однако есть mysqli_close.

15
задан Ponting 9 July 2013 в 12:33
поделиться

4 ответа

Попробуйте это с помощью AsyncTask следующим образом:

        AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() {
            @Override
            protected String doInBackground(Void... params) {
                String token = null;

                try {
                    token = GoogleAuthUtil.getToken(
                            MainActivity.this,
                            mGoogleApiClient.getAccountName(),
                            "oauth2:" + SCOPES);
                } catch (IOException transientEx) {
                    // Network or server error, try later
                    Log.e(TAG, transientEx.toString());
                } catch (UserRecoverableAuthException e) {
                    // Recover (with e.getIntent())
                    Log.e(TAG, e.toString());
                    Intent recover = e.getIntent();
                    startActivityForResult(recover, REQUEST_CODE_TOKEN_AUTH);
                } catch (GoogleAuthException authEx) {
                    // The call is not ever expected to succeed
                    // assuming you have already verified that 
                    // Google Play services is installed.
                    Log.e(TAG, authEx.toString());
                }

                return token;
            }

            @Override
            protected void onPostExecute(String token) {
                Log.i(TAG, "Access token retrieved:" + token);
            }

        };
        task.execute();

SCOPES - это список разделенных пробелами строк области OAuth 2.0. Например, SCOPES можно определить как:

public static final String SCOPES = "https://www.googleapis.com/auth/plus.login "
    + "https://www.googleapis.com/auth/drive.file";

Они представляют собой разрешения, которые ваше приложение запрашивает у пользователя. Области, запрошенные в этом примере, описаны здесь:

36
ответ дан Lee 21 August 2018 в 04:05
поделиться
  • 1
    что здесь ОБЪЕКТЫ? – Rethinavel Pillai 3 March 2014 в 10:22
  • 2
    Отредактировал мой ответ, чтобы объяснить SCOPES. – Lee 6 March 2014 в 23:04
  • 3
    – KAPLANDROID 10 April 2014 в 15:27
  • 4
    Возможно ли получить время истечения срока доступа к токену с помощью некоторых API Google Android? Или только по запросу HTTPS? – JP Ventura 4 December 2014 в 17:51
  • 5
    @Lee У вас есть какие-либо подсказки о получении токена обновления? – Ayman Mahgoub 7 January 2015 в 12:00

E / GoogleAuthUtil (4696): java.lang.IllegalStateException: вызов этого из основного потока может привести к взаимоблокировке

Похоже, вам нужно сделать это на отдельном thread, вы пробовали это?

Здесь вы можете найти информацию о потоках в Android.

0
ответ дан Anton Aderum 21 August 2018 в 04:05
поделиться
  • 1
    Я попытался выполнить над кодом в новом потоке: новый поток (новый Runnable () {public void run () {}} .start (); .. Но он дает ошибку, которую GoogleAuthUtil.getToken не может запускать с помощью метода runnable. – Ponting 9 July 2013 в 12:32

Используйте отдельный поток для вашего интернет-кода. Ошибка говорит о том, что в приложении работает больше времени, и это интернет. Поэтому используйте отдельный поток или задачу Async.

Проверьте эту ссылку NetworkOnMainThreadException

Надеюсь, это вам поможет.

4
ответ дан Rushabh Patel 21 August 2018 в 04:05
поделиться
            Thread CrearEventoHilo = new Thread(){
                public void run(){
                    //do something that retrun "Calling this from your main thread can lead to deadlock"
                }
            };
            CrearEventoHilo.start();

CrearEventoHilo.interrupt ();

public class Foo {
    MyThread mTh;
    void cantBeBothered() {
        mTh = new MyThread( /*...*/ );
        mTh.run();
        mTh.start();
    }
    void imFinishedNowWaitingForThread() {
        mTh.join();
    }
    void imOutKillingOffPendingThread()  {
        mTh.interrupt();
    }
//  .....
    private class MyThread extends Thread {
//      ...;
        MyThread( /*...*/) {
//          this... = ...;
        }
        public void run() {
            doSomething( /*this...*/ );
        }
    }
}
0
ответ дан Vladimir vmchoice Andriyenko 21 August 2018 в 04:05
поделиться
  • 1
    Ваш ответ будет более ценным, если вы добавите объяснение того, как он работает. – Laryx Decidua 27 March 2017 в 11:41
  • 2
    Почему вызов прерывать ()? – Brill Pappin 27 November 2017 в 18:12
Другие вопросы по тегам:

Похожие вопросы: