Translate

BTemplates.com

Powered by Blogger.

2017年9月13日水曜日

2017-09-12 到達点メモ


うーん……。とりあえず動いたのは確認できた。
ので、一部抜粋する。

ひとまず、onCreateで下記に内容でreceiverを登録し
        myBroadcastReceiver = new MyBroadcastReceiver();
        intentFilter = new IntentFilter();
        intentFilter.addAction(FINISH_ACTION);
        registerReceiver(myBroadcastReceiver, intentFilter);

manifestファイルで下記の内容を追記し
<receiver android:name=".MyBroadcastReceiver" />


投げる際に以下の内容を書き
        // 通知をタップした際に、起動しているアクティビティをそのままの状態で呼び出す
        Intent intent = new Intent(this, MyBroadcastReceiver.class);
        //存在するアクティビティを使いまわす必要がある為
        intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
        intent.setAction(FINISH_ACTION);
        int request_code = ACTING_REQUEST_CODE;
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this,request_code,intent, PendingIntent.FLAG_UPDATE_CURRENT);
        mBuilder.addAction(R.drawable.ic_play_icon, mConstRParams.finish_button_name, pendingIntent);

で、あとは別クラスでpublic class MyBroadcastReceiver extends BroadcastReceiver 的なのを作れば、一先ず、タップするとストップする処理を作ることができた。

参考サイト
Determine addAction click for Android notifications
ブロードキャストレシーバの実装によるアクティビティとサービスの通信
BroadcastReceiverでAlarmManagerのアラームを受け取る
BroadcastReceiver not working when app is not running

些細な事だが、昨日折角参考サイトを用意したのに
結局読まなかったな……


ただ、三つほど問題があって
一つは、PlayMusicが起動中、addActionが表示されない事
もう一つは、画面ロック中はaddActionが表示されない事です
*addActionかは不明だがPlayMusicはボタン表示が出来る。
最後の一つは、VGAのアイコン画像が表示されない事です。

調べた感じだとPlayMusicではここの処理でやってそう
公式ドキュメントをきちんと読んでないのが丸わかりですね(白目)

此処のサイトのprivate void initMediaSession() 辺りが参考になるかも?
ただ、個人的に何度見ても気になるのは音楽再生専用のメソッドの気がして
しょうがない……。

今日はここまで




0 コメント:

コメントを投稿