エミュレータを日本語に変更する方法
SignIn認証に成功
前回、メール認証に成功してから3週間も経過してしまいましたが、本日、SignIn認証に成功しました。下記の参照サイトの1つ目のサイトを参考にコーディングしました。参照サイト中のsign_out_disconnectに関連するコードがないので、sign_out_buttonに置き換えています(というか、間違いだと思われる。UpdateUIにあるのは4種類なので。。。)。また、レイアウトのxmlファイルがないので、自分で補いました。
1.activityの切り換えのコードを追加
MainとなるActivityと参照サイトのIdTokenActivityに以下を追加してます。また、IdTokenActivityの追加により、AndroidManifest.xmlにIdTokenActivityを追加しました。
1.AndroidManifest.xml
<activity
android:name=".IdTokenActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme">
2.MainのActivity
Super.onCreateの下に以下を追加する。
Intent intent = new Intent();
intent.setClassName("com.example.myapplication_test", "com.example.myapplication_test.IdTokenActivity");
this.startActivity(intent);
3.IdTokenActivity
setContentViewの下に以下を追加する。
Intent intent = this.getIntent();
2.バグ修正
このままでは、SignIn認証エラーとなり認証に失敗し、onActivityResultの引数dataのdata.getExtras()に以下のエラーが出力されます。
「{statusCode=unknown status code:12501, resolution=null}」
2つ目の参照サイトから、GoogleSiginInOptionsを修正することにより、SignInに成功しました。
・修正前
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.server_client_id))
.requestEmail()
.build();
・修正後
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestScopes(new Scope(Scopes.PLUS_LOGIN))
.requestScopes(new Scope(Scopes.PLUS_ME))
.build();
実行すると、アカウント選択画面が表示され、アカウントをクリック後、以下の画面が表示されます。
「ALLOW」をクリックすると、「SignedIn」と表示されました。
SignIn認証はクリアしたのですが、FusionTablesの認証は、まだです。道のりはもう少しといったところでしょうか。
参照サイト
google-services/IdTokenActivity.java at master · googlesamples/google-services · GitHub
Nexus5 タッチパネルが効かない ボタンが勝手に押される。
最近、雨が多いですね。スマホは、Nexus5とFone2Laserを使用していますが、本日、雨の中から家に帰ってNexus5を使用しようとすると、一部タッチパネルが効かなくなり、押してもいないボタンが勝手に押されるようになりました。水滴を拭き取ってもだめでしたが、数時間、自然乾燥させたら元に戻りました。傘を差しながら雨の中で使用したことは何度かありますが、こんな現象は初めてだったので、すこし焦りました。
6.0.1アップデート後、クイック設定のアイコン表示方法
Fone2LaserのOSを6.0.1に上げたら、クイック設定のアイコン表示が非表示になりました。検索したところ、テーマの削除でいけるということでしたが、だめ。正確には、ダウンロードしたテーマの削除でした。
1.「テーマ」アプリ実行後、右上の「ダウンロード済み」をクリック。
2.ダウンロードしたテーマを選択後、左下のごみ箱をクリック。
電源オフ・オン、再起動はいりません。
p.s.
昨夜、ZenFone2Laserを落として、ひびが入ってしまいました。ひびの程度ですが、左上2cm角と薄く線のひびが数か所。使い始めて、まだ11か月ですorz。3,4年使用するつもりだったけど、はやまりそう。。。今日は今日で、nanacoカードをコピー機のところに置き忘れて紛失しまい、踏んだり蹴ったりです。
OAuth2 認証方法が変更される
2週間ほど前のことですが、GoogleAuthUtilを使用して、ようやくOAuth2認証が通ったと思ったら、このAPIはもう使用するべきではなく、移植しなさいとのことorz。もう少しで、移植が完了するんですが。。。
参照サイト:
Migrate from GoogleAuthUtil and Plus.API | Google Sign-In for Android | Google Developers
Google API Clientのライブラリの設定方法
Google API Clientのライブラリの設定方法です。設定自体は、それほど難しくありませんが、説明が分かりにくいよ、Googleさん。
1.ダウンロードしたファイルを任意のフォルダで解凍します。
2.解凍フォルダ内のlibsフォルダのファイルを以下のフォルダに移動します。
C:\Users\ログイン名\AndroidStudioProjects\プロジェクト名\app\libs
3.AndroidStudioの左上の「Project」を選択します。
・「app」「libs」配下のファイルを右クリックして、一番下の「Add as Library」を選択します。
・「Create Library」画面では、そのまま「OK」ボタンをクリックします。
4.build.gradleの設定
buil.dgradleの中で、ライブラリ、モジュールなどの依存性(Dependencies)の設定を行います。依存関係は、解凍ファイル内のreadme.html内に記述されています。
上記のlibsのファイルを設定します。
・「File」「Project Structure」をクリックし、「Dependencies」タブを選択します。
・「+」ボタンをクリックし、「Library Dependency」を選択します。
・上記のファイルをそれぞれ選択し、「OK」ボタンをクリックします。
5.AndroidManifest.xmlの編集
AndroidManifest.xmlに以下を追加します。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<application
..
<meta-data
android:name="com.google.android.gms.version"
android.value="@integer/google_play_services_version"
以上です。
Android 6.0.1にアップデート後、デュアルSIM2側で4G接続ができない。
昨日、ASUSU製のFone2LaserのOSを6.0.1にアップデートして、APNを再設定し、回線には接続するようになったのですが、デュアルSIM2では接続できなくなっていました。SIM2で使用していたSIMをSIM1入れ替えて、SIM1のみにSIMを挿したところで、ようやく接続できました。4Gでの接続ですが、前のOSでは、アンテナが4本立っていたのが、今は0本です。アンテナは0本なのですが、ネットには接続できているのでアンテナ表示の不具合だと信じたいです。
Fone2LaserはデュアルSIMですが、どちらか片一方のSIMを3G以上にするともう一方は排他的に2Gの設定となるのは承知済みです。必ずSIMを挿した側を4G設定にしているのですが、SIM2側では接続できませんでした。
あと、気になったのが、「デュアルSIMカード設定」を選択すると、「推奨データネットワークのみが4Gネットワークに接続できます」とポップアップメッセージが表示されます。格安SIMは推奨データネットワークではない?(^^;ちなみにSIMは日本通信です。Windows10 Anniversary Updateに引き続き、やれやれです。