とりとめもなく、だらだらぬるぬる書き留めるらしいです。

Lenovo A820でFMラジオを聴く

注意(おやくそく):
このページには、Android端末を壊す可能性のある内容が記載されています。
実施される場合は、各自の責任において作業してください。


A820には、FMラジオチューナーが搭載されています。

Lenovo A820 root化&日本語化済■送料無料

Lenovo A820
・root化&日本語化済
・送料無料
[楽天市場]価格:19,950円
[Amazon]価格:19,500円



各ショップの仕様にも、チューナー搭載を明記しているところが多いですが、実はアプリが対応していない(87.5MHz~108MHzで、日本の放送帯域外)ため、そのままではFMラジオを聴くことはできません。

ここでは、A820で日本のFMラジオ放送を聞く改修の履歴を残します。
大枠としては、XDA Developersの「Additional possibility:Change of FM radio」にあるFM-radio-change.zipをベースに、最低周波数が87.5MHzになっていたところを、76.0MHzに変更して再ビルドし、apkを置き換えるという方法を取ります。

前提として、下記が必要です。
・A820でroot取得されていること。
・A820にCWMが導入されていること
・PCでAPK Multi-Toolsが動作すること

改修方法 概要:
・オリジナルのFMラジオアプリをバックアップしておく。
(/system/app以下のFMRadio.apkとFMRadio.odexをどこかに保管)
・CWM経由で、A820に上記ZIPをインストールする。
・PC上で、zipからFMRadio.apkを取り出す。
・APK Muti-Toolsでデコンパイルし、smaliソースを抽出。
・全smaliソースにて、周波数下限の87.5MHzを76.0MHzに変更する。
(1)0x36b(875)を0x2f8(760)に置換
(2)0x155cc(87500)を0x128e0(76000)に置換(レベルゲージ表示用)←8/25追記
・APK Multi-Toolsでシステムアプリとしてコンパイルし、署名する。
・/system/app下のFMRadio.apkをコンパイルしたものと置き換える。



愛知のFM局:ZIP-FM 77.8MHzを受信できています。
(注:SSは受信周波数とレベルゲージが合っていませんが、レベルゲージ表示用の値修正で直りました。)

8/22追記:
チューナーを一度オフにすると、それ以降再生ができないようです。
もう少し調査します。

8/25追記:
一度ラジオを停止させると、次の再生は停止時の周波数でチューナーONになる仕様ですが、その際、停止時の周波数が87.5~108MHzに入っていないと、チューナーをONにできないようです。

チューナーがONにならないと、レベルゲージを動かせないため、プリセット(お気に入り)の周波数に87.5~108MHzのどれかの値を入れておいて、チューナーがONにならないときは、その周波数を選ぶと連動してチューナーONにできます。

javaソースでは、それがどのあたりで処理されているかはだいたいわかりますが、smaliのほうではどこのソースをいじればよいのか、さっぱりわからない。(そこまでsmaliコードに詳しいわけではないので・・・)

あと、このラジオ機能は、ヘッドフォンのコードをアンテナとして利用します。
A820純正ラジオアプリは、ヘッドフォンをつながないとそもそもチューナーが作動しません。
日記上部にあるXDAのリンクから入手できるアプリだと、ヘッドフォンがなくてもチューナー動作しますが、電波状況が相当良くない限り、ヘッドフォンなし(内蔵スピーカー利用)で聞くのは厳しいと思います。


日本のFMラジオを受信できるAndroid 4以降のスマートフォンは、チューナー搭載有無やアプリの対応可否を含めてあまり存在しないようなので、A820は意外に貴重な存在かも?
とはいえ、らじこなどのアプリを利用すればよいので、あえてチューナーを使う必要は無いですかね(笑)

[その他のLenovo A820に関しそうな記事はこちら]


トラックバック・ピンバックはありません

ご自分のサイトからトラックバックを送ることができます。

Leave a Reply

*