Accessing UI thread handler from a service

后端 未结 7 1535
被撕碎了的回忆
被撕碎了的回忆 2020-11-27 11:57

I am trying some thing new on Android for which I need to access the handler of the UI thread.

I know the following:

  1. The UI thread has its own handler
7条回答
  •  再見小時候
    2020-11-27 12:30

    You can get values through broadcast receiver......as follows, First create your own IntentFilter as,

    Intent intentFilter=new IntentFilter();
    intentFilter.addAction("YOUR_INTENT_FILTER");
    

    Then create inner class BroadcastReceiver as,

        private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
        /** Receives the broadcast that has been fired */
        @Override
        public void onReceive(Context context, Intent intent) {
            if(intent.getAction()=="YOUR_INTENT_FILTER"){
               //HERE YOU WILL GET VALUES FROM BROADCAST THROUGH INTENT EDIT YOUR TEXTVIEW///////////
               String receivedValue=intent.getStringExtra("KEY");
            }
        }
    };
    

    Now Register your Broadcast receiver in onResume() as,

    registerReceiver(broadcastReceiver, intentFilter);
    

    And finally Unregister BroadcastReceiver in onDestroy() as,

    unregisterReceiver(broadcastReceiver);
    

    Now the most important part...You need to fire the broadcast from wherever you need to send values..... so do as,

    Intent i=new Intent();
    i.setAction("YOUR_INTENT_FILTER");
    i.putExtra("KEY", "YOUR_VALUE");
    sendBroadcast(i);
    

    ....cheers :)

提交回复
热议问题