基本信息
源码名称:android 自动截图保存到sd卡(需Root权限)
源码大小:8.41M
文件格式:.rar
开发语言:Java
更新时间:2016-09-12
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 10 元 
   源码介绍

自动截图保存到sd卡

package com.ideabobo.service;

import java.io.DataOutputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

import android.app.Service;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;

public class ReapetTask extends Service {
    int counter = 0;
    static final int UPDATE_INTERVAL = 1000;
    private Timer timer;

    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }
    
    

/*    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // We want this service to continue running until it is explicitly
        // stopped, so return sticky.
        Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
        new DoBackgroundTask().execute(urls);
        return START_STICKY;
    }*/
	
	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		super.onCreate();
        timer = new Timer();
        timer.schedule(new TimerTask() {
            public void run() {
                /*Log.d("MyService", String.valueOf(  counter));
                DoBackgroundTask back = new DoBackgroundTask();
        		back.execute("11");*/
            	new Thread(new Runnable() {
					
					@Override
					public void run() {
						// TODO Auto-generated method stub
						ReapetTask.screenShot();
					}
				}).start();
                
            }
        },0, UPDATE_INTERVAL);
		
	}




	public static void screenShot(){
    	Log.d("MyService", "screenShot");
    	Date d = new Date();
    	String filename = "ss" d.getTime()/1000 ".png";
    	RootCommand("su -c 'screencap /mnt/sdcard/jietu/" filename "' && adb pull /sdcard/jietu/" filename) ;
    }
    
    
    
    /**
         * 应用程序运行命令获取 Root权限,设备必须已破解(获得ROOT权限)
         * 
         * @param command
         *            命令:String apkRoot="chmod 777 " getPackageCodePath();
         *            RootCommand(apkRoot);
         * @return 应用程序是/否获取Root权限
         */
        public static boolean RootCommand(String command) {
            Process process = null;
            DataOutputStream os = null;
            try {
                process = Runtime.getRuntime().exec("su");
                os = new DataOutputStream(process.getOutputStream());
                os.writeBytes(command   "\n");
                os.writeBytes("exit\n");
                os.flush();
                process.waitFor();
            } catch (Exception e) {
                Log.d("*** DEBUG ***", "ROOT REE"   e.getMessage());
                return false;
            } finally {
                try {
                    if (os != null) {
                        os.close();
                    }
                    process.destroy();
                } catch (Exception e) {
                }
            }
            Log.d("*** DEBUG ***", "Root SUC ");
            return true;
        }
    
    
    private class DoBackgroundTask extends AsyncTask<String, Integer, Integer> {

    	
		@Override
		protected void onPostExecute(Integer result) {
			// TODO Auto-generated method stub
			super.onPostExecute(result);
			
		}

		@Override
		protected Integer doInBackground(String... params) {
			// TODO Auto-generated method stub
			screenShot();
			return null;
		}
        
    }    
        
	@Override
	public void onDestroy() {
		super.onDestroy();
        if (timer != null){
            timer.cancel();
        }
		
	}
}