2011-11-30 29 views
6

着信コールを受信するたびにトーストを表示するプログラムを作成しました。私が試したすべての電話機で正常に動作しています - 着信呼び出し画面にトーストを表示します。HTC Sense 3.0のロック画面でトーストが表示されない

昨日、HTC Desire SをSense 3.0(Android 2.3.5)にアップデートしました。明らかに、着信コールを表示する新しいロック画面が表示されています。ロック画面を開くと、「元の」着信画面が表示され、その電話に応答します。また、コールに応答する前に、元のコール画面でトーストを1秒間表示することもできます。

トーストIディスプレイはカスタムレイアウトを使用し、サービスから表示されます。このサービスは、着信時に放送受信機からインテントを受信します。

私はトーストを表示するには、次のコードを使用します。

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View layout = inflater.inflate(R.layout.popup_toast, null); 

toast = new Toast(getApplicationContext()); 
toast.setGravity(Gravity.TOP | Gravity.FILL_HORIZONTAL, 0, 0); 
toast.setDuration(Toast.LENGTH_SHORT); 
toast.setView(layout); 
toast.show(); 

はトーストが新感覚3.0ロック画面の上に表示されるように設定する方法はありますか?コード

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View layout = inflater.inflate(R.layout.listitems, null); 
     Toast toastView = new Toast(getApplicationContext()); 
     toastView.setView(layout); 
     toastView.setDuration(Toast.LENGTH_LONG); 
     toastView.setGravity(Gravity.CENTER, 0,0); 
     toastView.show(); 

     it's working fine for me 
+0

popup_toastのレイアウトファイルはどのように見えますか?どうやってKeyGuardを抜けましたか? – bofredo

答えて

0

使用することは、私は問題が少し広くなっていると思います。私の場合、HTC sense 3.0のロック画面では、アクティビティダイアログ(Toastメッセージと同じ)を表示することはできません。画面がロックされていない場合、ダイアログ(バックグラウンドサービスから起動されたアクティビティ)がうまく表示されます。 HTCの画面ロックにメッセージを表示する唯一の方法は、通知を使用することです。多くの人は、これが推奨されるアプローチであることに同意します(ポップアップでユーザーを気にしないようにする)。欠点は通知の性質であり、2〜2回後に消滅します。だから、 "発呼者ID"の種類のアプリケーションでは、誰が電話しているのかを確かめるために、ユーザーはすぐにポケットからHTCを引き出す必要があります。

OpenSense SDKには、画面ロックのメッセージを表示するAPIが含まれていることがあります。私の最初の表情では、私は「感覚スタイル」のタブしか見つけられませんでした。

電話機のロックを解除し、トーストまたはダイアログを表示するよう提案されました。これは "幸せな"解決策ではなく、可能であるかどうかは確かではありません。

私の投稿は完全な答えではないことを知っていますが、HTC sense 3.0のロック画面でメッセージを表示する際の問題の詳細を願っています。

+0

あなたのコードはsetView、setDuration、setGravityの順番を除いてまったく同じです。だから、このコードはSense 3.0のHTCであなたのために働いたのですか? – Franz

+0

私はHtc Desireを使用しています。2.2バージョンは正常に動作しています – sravan

+0

問題はHTC Sense 3.0(Android 2.3.5)の問題です。以前のバージョンではうまくいきました。 – Franz

関連する問題