2017-01-31 110 views
0

我已經創建了應用程序,它可以檢測otg電纜何時插入或何時使用fileobserver插入,但由於某種原因它不工作! 爲什麼應用程序無法正常工作?安卓文件觀察器

應用程序的源代碼:

MainActivity.class

public class MainActivity extends AppCompatActivity 
{ 
    private Process suProcess; 
    private static int conn_length = -1; 
    File directory = new File("/sys/bus/usb/devices"); 
    File[] contents = directory.listFiles(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     getRoot(); 



     FileObserver observer = new FileObserver("/sys/bus/usb/devices") 
     { 
      @Override 
      public void onEvent(int event, String file) 
      { 
       if(contents.length == conn_length){ 
        return; 
       } 
       else{ 
        conn_length = contents.length; 
       } 

       if(conn_length == 0) 
       { 

        Toast.makeText(MainActivity.this,"otg not connected",Toast.LENGTH_SHORT).show(); 
       } 
       else 
       { 
        Toast.makeText(MainActivity.this,"otg connected",Toast.LENGTH_SHORT).show(); 
       } 
      } 
     }; 
     observer.startWatching(); 
    } 

    private void getRoot() 
    { 
     try 
     { 
      suProcess = Runtime.getRuntime().exec("su"); 
     } 
     catch (IOException e) 
     { 

     } 
    } 
} 

回答