android(46)(光线传感器,方向传感器,杀死进程,退出应用,简单的webview,APK安装器)

来源:互联网 发布:淘宝解id锁会退钱吗 编辑:程序博客网 时间:2024/05/17 08:44
1.光线传感器:public class MainActivity extends Activity {    private SensorManager sm;    private MyListener listener;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        sm = (SensorManager) getSystemService(SENSOR_SERVICE);        //光线传感器        Sensor sensor = sm.getDefaultSensor(Sensor.TYPE_LIGHT);        listener = new MyListener();        sm.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_UI);    }    private class MyListener implements SensorEventListener{        @Override        public void onSensorChanged(SensorEvent event) {            float light = event.values[0];            System.out.println("light:"+light);        }        @Override        public void onAccuracyChanged(Sensor sensor, int accuracy) {        }    }    @Override    protected void onDestroy() {        sm.unregisterListener(listener);        listener = null;        super.onDestroy();    }}2.方向传感器:public class MainActivity extends Activity {    private SensorManager sm;    private MyListener listener;    private ImageView iv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        sm = (SensorManager) getSystemService(SENSOR_SERVICE);        iv = (ImageView) findViewById(R.id.iv);        //方向传感器        Sensor sensor = sm.getDefaultSensor(Sensor.TYPE_ORIENTATION);        listener = new MyListener();        sm.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_GAME);    }    private class MyListener implements SensorEventListener{        float lastangle = 0;        @Override        public void onSensorChanged(SensorEvent event) {            // 0=North, 90=East, 180=South, 270=West              float angle = event.values[0];//手机与正北方向的夹角 angle:角度            System.out.println("angle:"+angle);            RotateAnimation ra = new RotateAnimation(-lastangle, angle,                    Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);            iv.startAnimation(ra);            lastangle = angle;        }        @Override        public void onAccuracyChanged(Sensor sensor, int accuracy) {        }    }    @Override    protected void onDestroy() {        sm.unregisterListener(listener);        listener = null;        super.onDestroy();    }}3.杀死进程:public class MainActivity extends Activity {    private ActivityManager am;//相当于进程管理器    private EditText et_packname;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);        et_packname = (EditText) findViewById(R.id.et_packname);    }    public void click(View view){        String packname = et_packname.getText().toString().trim();        am.killBackgroundProcesses(packname);        //杀死空进程 和 后台进程    }}4.退出应用程序:public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    @Override    public void onBackPressed() {        AlertDialog.Builder builder = new Builder(this);        builder.setTitle("提醒");        builder.setMessage("确定退出当前应用程序吗?");        builder.setPositiveButton("立刻退出", new OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                finish();//关闭当前的activity。                //把自己的进程杀死。                //自杀的方法。                android.os.Process.killProcess(android.os.Process.myPid());                //System.exit(0);            }        });        builder.setNegativeButton("取消", null);        builder.show();    }}5.显示网页的webview:    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        WebView wv = (WebView) findViewById(R.id.wv);        wv.loadUrl("http://192.168.1.100:8080/haha.html");    }6.APK安装器:public class MainActivity extends Activity {    private EditText et_path;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_path = (EditText) findViewById(R.id.et_path);    }    public void click(View view){        String path = et_path.getText().toString().trim();        //安装apk        Intent intent = new Intent();        intent.setAction("android.intent.action.VIEW");        intent.addCategory("android.intent.category.DEFAULT");        intent.setDataAndType(Uri.fromFile(new File(path)), "application/vnd.android.package-archive");        startActivity(intent);    }}
0 0
原创粉丝点击