亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

service初級:Activity與service間的聯系、重寫ServiceConnection

發布時間:2020-10-25 18:26:21 來源:網絡 閱讀:535 作者:glblong 欄目:開發技術

MainActivity:

public class MainActivity extends Activity
{
    Mybinder mybinder =null;
    ServiceConnection mConn = new ServiceConnection()
    {
        @Override
        public void onServiceDisconnected(ComponentName name)
        {
                        
        }
                    
        @Override
        public void onServiceConnected(ComponentName name, IBinder binder)
        {
            mybinder = (Mybinder) binder;//對象binder,強轉為Mybinder類型
            Log.e("MainActivity", "mybinder.getname()");
        }
    };
                
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
                    
        final TextView textView1 = (TextView) findViewById(R.id.textView1);
        final TextView textView2 = (TextView) findViewById(R.id.textView2);
                    
                    
        findViewById(R.id.button1).setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                Intent intent = new Intent(MainActivity.this,MyService.class);
                            
                bindService(intent, mConn, BIND_AUTO_CREATE);
            }
        });
                    
        findViewById(R.id.button2).setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                unbindService(mConn);
            }
        });
                    
        findViewById(R.id.button3).setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                textView1.setText(mybinder.play());//通過mybinder調用service的方法,或者通過方法將數據傳給service
            }
        });
                    
        findViewById(R.id.button4).setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                textView2.setText(mybinder.pause());
            }
        });
    }
                
    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
                
}


MyService:

public class MyService extends Service
{
    public String play()
    {
        return "播放";
    }
    public String pause()
    {
        return "暫停";
    }
      
    class Mybinder extends Binder//Binder類繼承了接口IBinder,Mybinder繼承Binder類
    {
        //在Mybinder創建方法
        public String getname()
        {
            return "myBinder";
        }
          
        //調用外部方法
        public String play()
        {
            return MyService.this.play();
        }
        public String pause()
        {
            return MyService.this.pause();
        }
    }
      
    private IBinder binder = new Mybinder();//IBinder聲明創建一個Mybinder對象
      
    @Override
    public IBinder onBind(Intent intent)
    {
        Log.e("MyService", "onBind");
        return binder;//返回IBinder對象
    }
      
    @Override
    public void onCreate()
    {
        Log.e("MyService", "onBind");
        super.onCreate();
    }
      
    @Override
    public boolean onUnbind(Intent intent)
    {
        Log.e("MyService", "onUnbind");
        return super.onUnbind(intent);
    }
      
    @Override
    public void onDestroy()
    {
        Log.e("MyService", "onDestroy");
        super.onDestroy();
    }
      
}



  1. service屬性

android:enabled

這個屬性用于指示該服務是否能夠被實例化。如果設置為true,則能夠被實例化,否則不能被實例化。默認值是true。

<application>元素有它自己的enabled屬性,它的這個屬性適用于應用中所有的組件,包括service組件。對于被啟用的服務,<application>和<service>元素的enabled屬性都必須是true(默認值都是true)。如果有一個元素的enabled屬性被設置為false,該服務就會被禁用,而不能被實例化。

android:exported

這個屬性用于指示該服務是否能夠被其他應用程序組件調用或跟它交互。如果設置為true,則能夠被調用或交互,否則不能。設置為false時,只有同一個應用程序的組件或帶有相同用戶ID的應用程序才能啟動或綁定該服務。

它的默認值依賴與該服務所包含的過濾器。沒有過濾器則意味著該服務只能通過指定明確的類名來調用,這樣就是說該服務只能在應用程序的內部使用(因為其他外部使用者不會知道該服務的類名),因此這種情況下,這個屬性的默認值是false。另一方面,如果至少包含了一個過濾器,則意味著該服務可以給外部的其他應用提供服務,因此默認值是true。

這個屬性不是限制把服務暴露給其他應用程序的唯一方法。還可以使用權限來限制能夠跟該服務交互的外部實體。









向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长汀县| 车致| 巴马| 富锦市| 诏安县| 金阳县| 肥乡县| 灯塔市| 呼图壁县| 通许县| 连南| 登封市| 平顺县| 吉隆县| 宜丰县| 南华县| 循化| 彭水| 安义县| 内江市| 会泽县| 青河县| 交口县| 北票市| 南康市| 江门市| 沂源县| 威海市| 铜鼓县| 冀州市| 通渭县| 双牌县| 洪洞县| 九龙城区| 保康县| 黄梅县| 双城市| 司法| 阳西县| 南昌县| 龙川县|