package ai.suanzi.rtmpclient;
+import android.app.Activity;
import android.graphics.ImageFormat;
import android.graphics.SurfaceTexture;
import android.support.v7.app.AppCompatActivity;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import android.content.Intent;
+import java.io.OutputStream;
private StreamTask mStreamTask;
private SurfaceHolder mHolder;
ExecutorService mExecutor = Executors.newSingleThreadExecutor();
+ //Intent it = new Intent(getApplicationContext(), MyService.class);
+ Intent intent = new Intent();
+
@Override
protected void onCreate(Bundle savedInstanceState) {
final Button btn = findViewById(R.id.button);
btn.setText("Start");
- btn.setOnClickListener(new View.OnClickListener() {
+ /*btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e(TAG, "Button " + btn.getText() + " onClick");
}
btn.setText(btn.getText().equals("Start") ? "Stop" : "Start");
}
- });
+ });*/
/*this.mCamera = getCameraInstance();
if(checkCameraHardware(this)) Log.e(TAG, "has cameras: " + Camera.getNumberOfCameras());
mHolder = surfaceView.getHolder();
mHolder.addCallback(this);
- //
- //mCamera.setPreviewCallback(this);
+ intent.setPackage(this.getPackageName());
+ intent.setAction("ai.suanzi.rtmpclient.service");
- /*try{
- mCamera.setPreviewTexture(st);
- }catch (IOException e){
- e.printStackTrace();
- }*/
final Button btn2 = findViewById(R.id.button);
+
+
btn2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
Log.e(TAG, "onclick2");
//ffmpeg.play(mHolder.getSurface(),"/storage/sdcard0/output.flv");
- ffmpeg.push(mHolder.getSurface());
+ //ffmpeg.push(mHolder.getSurface());
//ffmpeg.preview(mHolder.getSurface());
-
+ // intent.putExtra("cmd",0);//0,开启前台服务,1,关闭前台服务
+ startService(intent);
}
});
- Log.e(TAG, "onclick2");
- /*
- try {
- Log.e(TAG, "Run command");
- Process sh = Runtime.getRuntime().exec(new String[]{"su", "-c", "chmod 666 /dev/video0"});
- sh.waitFor();
- }catch (Exception e){
- e.printStackTrace();
- }*/
-
-
-
-
-
btn2.post(new Runnable(){
@Override
public void run() {
btn2.performClick();
+
}
});
-
- Intent i = new Intent();
- i.setAction(Intent.ACTION_MAIN);
- i.addCategory(Intent.CATEGORY_HOME);
- this.startActivity(i);
-
-
+ switchToBackground();
}
//SurfaceTexture st = new SurfaceTexture(0);
return c;
}
+ private void changeCameraPermission(){
+ Log.e(TAG, "change /dev/video0 permission");
+ try{
+ /*Process sh = Runtime.getRuntime().exec("su", null,null);
+ OutputStream os = sh.getOutputStream();
+ os.write(("chmod 666 /dev/video0").getBytes("ASCII"));
+ os.flush();
+ os.close();
+ sh.waitFor();*/
+
+ Process sh = Runtime.getRuntime().exec(new String[]{"su", "-c", "system/bin/sh"});
+ sh = Runtime.getRuntime().exec(new String[]{"chmod", "666", "/dev/video0"});
+ sh.waitFor();
+ } catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
+ private void switchToBackground(){
+ Intent i = new Intent();
+ i.setAction(Intent.ACTION_MAIN);
+ i.addCategory(Intent.CATEGORY_HOME);
+ this.startActivity(i);
+ }
+
}