اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


3 ارسال در این موضوع قرار دارد

سلام بنده برنامه ای نوشتم که مشکلش این جاس که وقتی میره تو برنامه بلافاصله میاد بیرون و وقتی دوباره میری توش دیکه فورس کلوز نمیده و برنامه اجرا میشه .

کد های اکتیویتی:

import android.app.*;
import android.content.*;
import android.content.pm.*;
import android.hardware.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.graphics.*;
import android.view.animation.*;


public class MainActivity extends Activity  implements SensorEventListener {
    private TextView mefi;
        private SensorManager sensorManager = null;
    ImageView megnaneedle;
int progress=46;
    private TextView seekProTv;

    private SeekBar seekBar;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //اکتویتی در حالت فول اسکرین
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                                  WindowManager.LayoutParams.FLAG_FULLSCREEN);
        //اکتیویتی در حالت عدم خاموش شدن صفحه نمایش
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);


        setContentView(R.layout.main);
        megnaneedle=(ImageView)findViewById(R.id.mainImageView1);
        seekProTv = (TextView)findViewById(R.id.seekProTv);
        seekBar = (SeekBar)findViewById(R.id.seekBar);
        seekProTv.setText(":میزان شارژ" + progress + "/" + seekBar.getMax());
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

                @Override
                public void onProgressChanged(SeekBar seekBar, int progressValue, boolean b) {

                    progress = progressValue;
                }

                @Override
                public void onStartTrackingTouch(SeekBar seekBar) {

                }

                @Override
                public void onStopTrackingTouch(SeekBar seekBar) {
                    seekProTv.setText(progress + "/" + seekBar.getMax());

                }
            });
            mefi=(TextView)findViewById(R.id.mainTextView1);
                sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
        // Capture magnetic sensor related view elements
        // Register magnetic sensor
        Sensor megnasensor=   sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
        if(megnasensor != null){

        }                              
    }

    @Override
    protected void onPause() {
        // Unregister the listener
        sensorManager.unregisterListener(this);
        super.onPause();
    }

    @Override
    protected void onStop() {
        // Unregister the listener
        sensorManager.unregisterListener(this);
        super.onStop();
    }

    @Override
    protected void onResume() {
        super.onResume();

        // Register magnetic sensor
        sensorManager.registerListener(this,
                                       sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
                                       SensorManager.SENSOR_DELAY_NORMAL);
    }

    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // Ignoring this for now

    }

    public void onSensorChanged(SensorEvent sensorEvent) {  

        float x=.00f;
        float y=.00f;
        float z=.00f;

        synchronized (this) {

            if (sensorEvent.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {


                x=sensorEvent.values[0];
                y=sensorEvent.values[1];
                z=sensorEvent.values[2];

                double metalpower = Math.round(Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2)));
                x=(float) metalpower;
                mefi.setText(""+x);
                        if(progress<=x){
                    Toast.makeText(MainActivity.this,"k",Toast.LENGTH_LONG).show();
                            Vibrator vibrator = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE);
                            vibrator.vibrate(200);
                    }
if(x<=360){
megnaneedle.setRotation(x);

}
        }
    }}
}

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری