FC2ブログ
    12 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 02

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【JAVA】LINEへの投稿連携 

    こんにちは。大坂です。

    最近少しあったかくなってきましたが、
    インフルエンザが流行っているようなので皆さん気を付けてくださいね!

    今日は久しぶりにJAVAの記事にしてみようと思います。
    大した内容の話ではないですけどね・・・。

    前にTwitter連携の話を書きましたが、友達にLINEのほうが使うからLINEと連携してくれ!って言われたので、
    今日は似たようなところですがLINE連携の話です。
    すごく簡単にできてしまうんですけどね。

    コードでっす。
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    intent.setData(Uri.parse("line://msg/text/" + "テスト"));
    startActivity(intent);

    だけです。簡単ですねー。
    でもこれだとLINEの公式アプリが直接開かれるのでインストールされていないと「ActivityNotFoundException」が発生して落ちてしまいます。

    インストールされているか確認するして対処するといいですね。Twitter連携字にも書いた方法ですが。
    あとは、Exceptionキャッチしてそこで処理させてもいいのかもしれませんが・・・あまり好みではないので確認します。

    インストールの確認方法。Twitterの記事にも全く同じコードが書いてますが、一応書いておきます。
      boolean lineFlg = false;
    // パッケージマネージャを取得
    PackageManager pm = getPackageManager();
    // ランチャーから起動出来るアプリケーションの一覧を取得
    Intent intent = new Intent(Intent.ACTION_MAIN, null);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    // 一覧の取得
    List list = pm.queryIntentActivities(intent, 0);
    if (list != null) {
    for (ResolveInfo info : list) {
    // アプリ名をログに出力
    Log.i("アプリ名", info.loadLabel(pm).toString());
    // パッケージ名をログに出力
    Log.i("パッケージ名", info.activityInfo.packageName);
    // パッケージ名に「"jp.naver.line.android"」が存在するか判定
    if(info.activityInfo.packageName.equals("jp.naver.line.android")) {
    lineFlg = true;
    break;
    }
    }
    }


    これで、友達に送ったりホームに投稿することができるようになります!

    ではではまた来週!

    Category: 開発日記(Java)

    tb 0 : cm 0