発信者を表示させるアプリを作ろうと思ったけどすでにあったわ

おれはチラシを受け取らないということは以前に話をした。

チラシがあまりにうざいので、ポストにチラシいれんなとシールを貼ってみた - テストステ論

おれは電話にも出ない。出るのは、

  • いついつに電話すると事前にメールで予約されている場合
  • 家族からの電話の場合

くらいで、他は出ない。まず、着信音もバイブも切ってるので着信自体に気づくことが稀だからそもそも出れないのだが、着信に気づいている場合でも知らない番号には出ない。

そもそも、メールで良いではないかということが多い。電話の方が早いという人がいるが、それはメールを書くのが遅いかあるいは、大抵の場合はメールが読みにくいことに原因がある。きちんと読んでもらえるメールを書くには技術がいる。それを無視してただ言いたいことをメールにして送るだけなら、それは読まれないし、効率も悪くて当然だろう。仮に電話の方が効率が良いにしても、電話によってコミュニケーションを押し付けられるのが気に入らない。だから出ない。明確に電話の方が良いと思うのは、議論する場合とかくらいではないだろうか。告白だって今はLINEでするんじゃないの?しらんけど。

でも、例えば「なんとかガス」とか「なんとか銀行」とか「なんとか保険サービス」とか発信者が表示されていれば、それは出る意味もあると思って出ると思う。彼らの書類は常に冗長で、何の価値もないゴミ情報で埋め尽くされているから、電話の方が早くて手軽なことが多いのだ。だから100%読まない。そして後々になって却ってめんどくさくなることが多い。電話の内容が単なるセールスであればファックユーと言ってすぐに切ればいいし、重要な話であればその場で即決してしまって良いことが多い。

0120から始まるフリーダイアルなんて、後でググればどこからの電話かわかるものだろうし、特に隠す意味もない。だったら表示してもいいはずなのに、なぜ名前を表示してくれないのか。

どうやら調べてみると、そんなものがあったらしい。「ネーム・ディスプレイサービス」というらしい。

https://www.ntt-east.co.jp/release/0205/020520b_1.html

電話がかかってきた時に、発信電話番号とともに発信者名を着信者の電話機等に表示するサービスです。(発信者が発信者名を通知していれば、着信者の電話機等に発信者の名前をあらかじめ登録していなくても表示することができます)

とても良いサービスだと思うのだが、5年前くらい前に廃止されていた。

「ネーム・ディスプレイ」サービスの新規お申し込み受付の終了およびサービス提供の終了について

しかしながら、本サービスのご利用者が年々減少しており、今後もこの傾向は継続していくと想定されること等から、平成25年2月28日(木)をもって本サービスの提供を終了させていただきます。

まぁ、使われていなかったから廃止というのは当然だ。たぶん、ほとんどの人にとっては電話は鳴ったら取るというものであり、発信者名がわからないからとらないというおれのような人はマイノリティなのだろう。

しかしそれでもおれは、発信者名を表示させたい。そこで現代のスマホに限定すれば出来るんじゃないかと考えてみる。仕組みはこうだ。

  1. 着信イベントをフックする
  2. そこから電話番号を知る
  3. ネット上にあるDBに問い合わせて電話番号から発信者名を引く
  4. 発信者名を表示する

まんざら不可能でもないらしい。少なくともAndroidでは着信イベントはフック出来る。iOSは金持ちしか使えないから無職のおれには関係ない。

Androidで電話の着信をハンドリング

コールバックではたぶん電話番号も取得出来るから、それを使って3に行くことが出来る。

        public void onCallStateChanged(int state, String callNumber) {
            Log.d(TAG, ":" + state+"-PhoneNumber:"+callNumber);
            switch(state){
                case TelephonyManager.CALL_STATE_IDLE:      //待ち受け(終了時)
                    Toast.makeText(ctx, "CALL_STATE_IDLE", Toast.LENGTH_LONG).show();
                    break;
                case TelephonyManager.CALL_STATE_RINGING:   //着信
                    Toast.makeText(ctx, "CALL_STATE_RINGING: " + callNumber, Toast.LENGTH_LONG).show();
                    break;

問題は3だが、0120系だけならば、0120を取得するのに厳しい手続きが必要だろうから何か情報が手に入るかも知れない。しかし、佐川の宅急便とかふつうの携帯からかけてくる場合にはどうすれば・・・。

など考えてぐぐってたら、あんのかよ!ってゆう。これ自体は5万しかダウンロードされていないが、海外版のWhoscallというのは3000万ダウンロードされているから、結構みんな欲してるんだなぁということに気付かされた。仕組みはたぶんおれの考えた通りでしょう。3はもう少し賢いかも知れないけど。

電話番号検索 - Apps on Google Play


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

See also