2016-04-10 30 views
0

私は初心者のAndroid開発者です。私はWiFi Directの実装に取り​​組んでいます。私の目標は、接続が発生した後、特定の時間が経過した後(あるいは10秒と言う)、あるデバイスを別のデバイスから切断することです。私はperformClick()とsleep()関数を使う必要があると思いますが、私のコードでどのように使用するのか分かりませんでした。どんな助けでも大歓迎です。私はこれをやりたいと思うところで「やるべきこと」のコメントを付けます。 `@Override パブリックビューonCreateView(LayoutInflaterのインフレータ、のViewGroupコンテナ、バンドルsavedInstanceState){一定時間後に自動的にボタンをクリックするAndroid

mContentView = inflater.inflate(R.layout.device_detail, null); 

    Button btn_connect = (Button) mContentView.findViewById(R.id.btn_connect); 
    btn_connect.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      //startTime = System.currentTimeMillis(); 
      startTime = System.nanoTime(); 

      WifiP2pConfig config = new WifiP2pConfig(); 
      config.deviceAddress = device.deviceAddress; 
      config.wps.setup = WpsInfo.PBC; 
      if (progressDialog != null && progressDialog.isShowing()) { 
       progressDialog.dismiss(); 
      } 

      progressDialog = ProgressDialog.show(getActivity(), "Press back to cancel", 
        "Connecting to :" + device.deviceAddress, true, true 

      ); 
      ((DeviceActionListener) getActivity()).connect(config); 

     } 
    }); 


    Button btn_disconnect = (Button) mContentView.findViewById(R.id.btn_disconnect); 
    btn_disconnect.setOnClickListener(new View.OnClickListener() { 
     @Override 
       public void onClick(View v) { 
        //THINGS TO DO: 
        //i) PASS 10 SECONDS 
        //ii) COME HERE AND MAKE THE PROGRAM CLICK HERE BY ITSELF. 
        ((DeviceActionListener) getActivity()).disconnect(); 
        Log.d("ShowWhenDiscon", "It is disconnected!!!! "); 
       } 
      }); 

    mContentView.findViewById(R.id.btn_start_client).setOnClickListener(
      new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // Allow user to pick an image from Gallery or other 
        // registered apps 
        Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
        intent.setType("image/*"); 
        startActivityForResult(intent, CHOOSE_FILE_RESULT_CODE); 
       } 
      }); 

    return mContentView; 
}` 

答えて

0

使用ハンドラ:ここで私はこのために持っている私の全体のコードの一部です。

handlerTimer.postDelayed(new Runnable(){ 
    public void run() { 
     // do something here 

     // You mentioned to click a button, which needs to be run from the UI Thread. 
     // Use runOnUiThread() for this 


    }}, 20000); 

参考文献:

runOnUiThread

handler

+0

ありがとうございました!出来た。 – Eric

関連する問題