FC2ブログ
    08 «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.» 10

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

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

     

    【Java】着信モードとボリュームが変更された時の検知方法 

    今週も金曜日となりました。大坂です。

    タイトルの通り着信モードとボリュームが変更された時に何か処理したい時の方法です。

    まずは着信モードとボリュームが変更された時の受け取り方法。
    AndroidManifest.xmlに以下を記述
      <receiver android:name="com.example.VolumeReceiver">
    <intent-filter>
    <!-- モードが変更された時の通知を受け取る(サイレントモード⇒マナーモード等) -->
    <action android:name="android.media.RINGER_MODE_CHANGED" />
    <!-- ボリュームが変更された通知を受け取る -->
    <action android:name="android.media.VOLUME_CHANGED_ACTION" />
    </intent-filter>
    </receiver>

    これで着信のモード変更とボリュームが変更された時の変更を検知して受け取ることができるようになります。

    あとはAndroidManifest.xmlに記述した「com.example.VolumeReceiver」のクラスを作成して変更があった場合の処理を記述するだけです。
    package com.example;

    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;

    public class VolumeReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
    if(intent.getAction().equals("android.media.RINGER_MODE_CHANGED")) {
    //着信モードが変更された時の処理を記述
    } else if(intent.getAction().equals("android.media.VOLUME_CHANGED_ACTION")) {
    //音量が変更された時の処理を記述
    }
    }
    }

    こんな感じですね。大したことを書かなくても通知を受け取れるもんですね。
    この辺を応用して使えばサイドボタンを押された変更を検知していろいろ作れそうですね。

    ではでは、また来週(´・ω・)ノシ

    Category: 開発日記(Java)

    Thread: 日記

    Janre: 日記

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/11-a9ad53f1
    この記事にトラックバックする(FC2ブログユーザー)