SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事(AD)

ソフトとハードのつくり手が自由につながるIoTプラットフォーム「Linking」の概要と使い方

  • X ポスト
  • このエントリーをはてなブックマークに追加

周辺デバイスへのデータ送信

 周辺デバイスに対してのデータ送信方法を説明します。送信方法は以下の4種類があります。

  • Notification
    • AndroidのNotificationに相当する内容を周辺デバイスへ通知することができます。
  • メール通知
    • メールに関する内容を周辺デバイスへ通知します。
  • スケジュール通知
    • スケジュールに関する内容を周辺デバイスへ通知します。
  • その他通知
    • 複数のデータファイル、 画像、メディアを通知することができます。

Notification

 SendNotificationクラスを利用することで、AndroidのNotification相当の内容(タイトル、本文)を周辺デバイスに通知することができます。その他、アイコン画像もあわせて通知できます。

使用例
import com.nttdocomo.android.sdaiflib.SendNotification;

public void sendNotify() {
    SendNotification sendNotification = new SendNotification(getApplicationContext());
    sendNotification.setText("本文");
    sendNotification.setTitle("タイトル");
    int resId = R.drawable.ic_notificaion; // アイコン画像のリソースID
    sendNotification.setIcon(resId);
    sendNotification.send();
}

メール通知

 SendMailクラスを利用することで、メールに関する内容を周辺デバイスへ通知します。

 タイトルや本文、送信者名、送信者のアドレスや受信時間を通知することができます。

 マニフェストファイルにはメール通知利用の宣言を記載してください。

AndroidManifest.xml
<application
    ~中略~
    <meta-data
      android:name="com.nttdocomo.android.smartdeviceagent.feature.mail_notification"
      android:value="true" />
    ~中略~
</application>
使用例
import com.nttdocomo.android.sdaiflib.SendMail;

public void sendMail() {
    SendMail sendMail = new SendMail(getApplicationContext());
    sendMail.setTitle("タイトル");
    sendMail.setText("本文");
    sendMail.setSendUser("ユーザー");
    String address = "xxxx@xxx.com";
    sendMail.setAddress(address);
    long receiveTime = Calendar.getInstance().getTimeInMillis(); // 受信日時(UNIXタイム)
    sendMail.setReceiveTime(receiveTime);
    sendMail.send();
}

スケジュール通知

 SendScheduleクラスを利用することで、スケジュール情報を周辺デバイスへ通知します。

 タイトル、本文、開始時間、終了時間、場所、人の情報、詳細、内容(3種類まで送信可能)を通知することができます。

使用例
import com.nttdocomo.android.sdaiflib.SendSchedule;

public void sendSchedule() {
    SendSchedule sendSchedule = new SendSchedule(getApplicationContext());
    long startTime = 1449810987; // 開始時間
    long endTime = 1449813315;   // 終了時間
    sendSchedule.setStartTime(startTime);
    sendSchedule.setEndTime(endTime);
    sendSchedule.setTitle("タイトル");
    sendSchedule.setWhere("場所");
    sendSchedule.setPerson("人の情報");
    sendSchedule.setDescription("詳細");
    sendSchedule.setContent1(new byte[] {}); // 内容
    sendSchedule.send();
}

その他通知

 SendOtherクラスを利用することで、Notification、メール通知、スケジュールに当てはまらない、その他の情報を周辺デバイスに通知するときに使用します。

 Notificationではタイトル、本文、アイコンを通知できるのに対し、その他通知では、複数のデータファイル、 画像、メディアを通知することができます。

import com.nttdocomo.android.sdaiflib.SendOther;

public void sendOther() {
    SendOther sendOther = new SendOther(getApplicationContext());
    int dataNo1 = 1; // contentの番号(1~10まで)
    int dataNo2 = 2;
    byte dataContent[] = new byte[] {};
    sendOther.setContent(dataNo1, dataContent);
    sendOther.setContentUri(dataNo2, "データのURI");
    sendOther.setImageUri("画像のURI");
    sendOther.setImageMime("画像のMIMEタイプ");
    sendOther.setMediaUri("メディアのURI");
    sendOther.setMediaMime("メディアのMIMEタイプ");
    sendOther.send();
}

次のページ
周辺デバイスからデータを受信

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

株式会社ブリリアントサービス 角野 宏樹(カクノ ヒロキ)

 1990年生まれ。神戸電子専門学校のゲーム学科を卒業後、Androidの仕事がしたいと思い株式会社ブリリアントサービスに就職。中学、高校時代にバレーボールで培った体力を元にAndroidアプリを中心としたスマートフォン開発事業に携わっている。バレーボールとロードバイクとアニメが趣味。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9224 2016/02/17 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング