カテゴリー : Android

[Android] SSHクライアントアプリ JuiceSSH

休日にサーバーアラートが飛んできても安心して対応できるように、SSHクライアントアプリ JuiceSSH をインストールしました。

JuiceSSH – SSH Client – Google Play の Android アプリ

Nexus5 にインストールしたのですが、SD カードを差すことができないので SSH 秘密鍵はメール経由でコピペしました。

他は UI が分かりやすいので接続先など特に困ることなく設定できました。

[Android] Xperia SO-01E で Googleマップを起動させると電源が強制オフになる

Xperia SO-01E で Google マップを起動させると電源が強制オフになるという残念すぎるバグが・・・。

ソフトウェアアップデートをしたら直りました。

(嫁のケータイで全くやっていなかったので、2回しました)

[Android] Google (Gmail) アカウントを端末から削除する方法

Android から Google (Gmail) アカウントを端末から削除する手順をメモ。

  1. [設定] アプリを開く
  2. [アカウント] から Google を選択する
  3. 削除する Google アカウントを選択する
  4. メニューから「アカウントを削除」をクリックする

今回は ARROWS NX から Google アカウントを削除したのですが、普段 Android を使わないので、メニューから削除できるのに気付きませんでした。

Gradle 入門記事まとめ

Android アプリ開発で Gradle を使い始めたので入門記事をまとめてみました。

Gradle 入門記事

Gradleの評判について

AndroidとiPhoneで使えるURLスキーム起動&アプリ未ダウンロードならストアへリダイレクトするJavaScriptサンプルコード

Android と iPhone で使える URL スキーム起動&アプリ未ダウンロードならストアへリダイレクトするJavaScriptサンプルコードをご紹介します。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title>URL scheme / Redirect Test</title>
 
    <script type="text/javascript">
    var userAgent = navigator.userAgent.toLowerCase();
 
    window.onload = function(){
 
      if (userAgent.indexOf("android") > -1) {
        // Launch myapp via URL scheme
        launch_frame.location.href= "myapp://";
 
        setTimeout(function(){
          // Open App DL page in Google Play
          location.href= "http://market.android.com/details?id=com.example.myapp";
        } , 500);
      } else if (userAgent.search(/iphone|ipad|ipod/) > -1) {
        // Launch myapp via URL scheme
        launch_frame.location.href= "myapp://";
 
        setTimeout(function(){
          // Open App DL page in iTunes Store
          location.href= "itmss://itunes.apple.com/us/app/myapp/id123456789?ls=1&mt=8";
        } , 500);
      }
 
    }
    </script>
 
  </head>
 
<body>
  <div style="width:0; height:0; overflow:hidden;">
  <iframe id="launch_frame" name="launch_frame">
  </iframe>
  </div>
</body>
 
</html>

[Android] Google Play で「お使いの端末はこのバージョンに対応していません。」と表示される場合にチェックすべき点

開発した Android アプリが、Google Play で「お使いの端末はこのバージョンに対応していません。」と表示される場合にチェックすべきポイントをメモ。

「お使いの端末はこのバージョンに対応していません。」発生時のチェック項目

下記に、Androidでインストール可能な端末を限定する方法が書かれているので、ここに該当してる項目がないかチェックしましょう。

Android Tips #18 インストール可能な端末を限定する | Developers.IO

カメラ機能を使ったアプリで除外端末になってしまう例

例えば、カメラ機能をマニフェストで要求している場合、カメラを搭載していないAndroid端末は除外対象になってしまいます。

そういう場合は、uses-feature で android:required=”false” を記述する必要があります。

●<uses-permission>を記載して<uses-feature>を記載しなかった場合、自動的に有効になる<uses-feature>がある。

android.permission.CAMERAの例にとると<uses-feature>の記載がなくても以下の機能が有効になります。

<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus"android:required="true" />

どのパーミッションでどの機能が自動的に有効になるかは以下サイトを参考にしてみてください。
http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions

まとめ

カメラや位置情報を使ったアプリだと除外端末が増えてしまうので、しっかり <uses-feature> を確認する必要がありそうですね。

<uses-feature> | Android Developers

必須機能では無い場合、 android:required=”false” を指定して、インストール可能端末を増やして、インストールの機会損失を減らすように心掛けたいものです。

参考情報

Nexus7・N-06D・P-08DにおいてGoogle Playから「端末仕様確認ツール」がダウンロードできない事象について – NTTドコモ開発者情報Blog

[Android] 正しく時刻設定してないと Twitter 認証時にエラー発生

Android アプリにて、正しく時刻設定してないと Twitter 認証時に下記のような例外が発生してしまいます。

Received authentication challenge is null
Relevant discussions can be found on the Internet at:
	http://www.google.co.jp/search?q=10f5ada3 or
	http://www.google.co.jp/search?q=e574403a
TwitterException{exceptionCode=[10f5ada3-e574403a b8c63e52-c913c2cc], statusCode=-1, message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=3.0.3}

動作試験で、時刻設定を未来の時間に設定したままで、今回のようなエラーが発生しました…。

とりあえず、バグではなかったので良かったです。