私は連絡先管理のための簡単なウィジェットを作成しています。これにより、ユーザーはダイアルして希望の連絡先にSMSを送信できます。lockscreenから新しいアクティビティを開始するには?
"正常なウィジェット"として正常に動作しますが、Android 4.2のロック画面ウィジェットとして追加すると、SMSアプリケーションまたはダイヤルアプリが起動しません。 実際に彼らはスターでもロックスクリーンの背後にあるので、ユーザーは手動でダイヤル/ SMSを送信できるように画面を手動で解除する必要があります。
私はいくつかの解決策をウェブで検索しましたが、何も役立たないものはありません。 私はFLAG_DISABLE_KEYGUARDまたはFLAG_SHOW_WHEN_LOCKEDを認識していますが、SMS /ダイヤルアプリは「鉱山」ではないため、適切なフラグを設定しているかどうかはわかりません。 回避策として、私はそれらのフラグを設定して、単に目的のもの(ダイヤルまたはSMS)を開始するアクティビティを作成しようとしましたが、これは役に立ちません。
画面のロックを解除する方法がありますが、KeyguardManagerとKeyguardLock(これはうまくいきます)を使用していますが、KeyguardLock.newKeyguardLock()を使用した結果、電話が自動的にロックを解除できなくなってしまいます私はこのロックを解除しないので(ロックが再び表示されるようになりますが、これは私が望むものではありません)。
実際、このウィジェットはロック画面でデフォルトのSMSウィジェットまたはメールウィジェットと同じように機能するはずですか?
私の質問は、これを達成し、lockscreenから新しいアクティビティを開始する方法です。
こんにちはフィリップ
は(プロキシを呼び出す)ウィジェット内の意図を呼び出します。私は同じことについて不思議だった。私はアンドロイドにはかなり新しいです。あなたは私を少しでも助けてくれますか?クリックリスナーをウィジェットレイアウトのボタンまたはビューに設定するにはどうすればよいですか?それはあなたのAppWidgetProviderクラスのonReceiveメソッドと関係がありますか? –
こんにちは、 これはあまり明白ではありません。私はこれを理解するために私をしばらく捉えました。つまり、達成するためには 'PendingIntent'と' RemoteView'クラスを使う必要があります。最善の方法は[documentation](http://developer.android.com/guide/topics/appwidgets/index.html#implementing_collections)を参照することです。 'RemoteView#setOnClickFillInIntent'メソッドを使用して' PendingIntent'オブジェクトを 'RemoteView'で設定するだけです。 –