user3596211
user3596211

Reputation: 75

Background service for Chathead is not Working in Xiaomi MI4I android

hello i am unable to understand this why my chathead image is not showing on Screen only on Xiaomi devices

it is working very fine in all device exept Xiaomi MI4 here is my Service

public class CheckInService extends Service {
private int x_init_cord, y_init_cord, x_init_margin, y_init_margin;
private WindowManager windowManager;
private ImageView chatHead;
WindowManager.LayoutParams params;
boolean mHasDoubleClicked = false;
long lastPressTime;
private Boolean _enable = true;
@Override
public void onCreate() {
    super.onCreate();

    windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);

    Display display = windowManager.getDefaultDisplay();
    int width = display.getWidth();
    int height = display.getHeight();
    Log.e("hiet", ""+height);
    chatHead = new ImageView(this);

    chatHead.setImageResource(R.drawable.face1);
    final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
            WindowManager.LayoutParams.WRAP_CONTENT,
            WindowManager.LayoutParams.WRAP_CONTENT,
            WindowManager.LayoutParams.TYPE_PHONE,
            WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
            PixelFormat.TRANSLUCENT);

    params.gravity = Gravity.BOTTOM | Gravity.RIGHT;
    params.x = 10;
    params.y = 25;

    windowManager.addView(chatHead, params);

    /*try {
        chatHead.setOnTouchListener(new View.OnTouchListener() {
            private WindowManager.LayoutParams paramsF = params;
            private int initialX;
            private int initialY;
            private float initialTouchX;
            private float initialTouchY;

            @Override public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:

                    // Get current time in nano seconds.
                    long pressTime = System.currentTimeMillis();


                    // If double click...
                    if (pressTime - lastPressTime <= 300) {

                        mHasDoubleClicked = true;
                    }
                    else {     // If not double click....
                        mHasDoubleClicked = false;
                    }
                    lastPressTime = pressTime; 
                    initialX = paramsF.x;
                    initialY = paramsF.y;
                    initialTouchX = event.getRawX();
                    initialTouchY = event.getRawY();
                    break;
                case MotionEvent.ACTION_UP:
                    break;
                case MotionEvent.ACTION_MOVE:
                    paramsF.x = initialX + (int) (event.getRawX() - initialTouchX);
                    paramsF.y = initialY + (int) (event.getRawY() - initialTouchY);
                    windowManager.updateViewLayout(chatHead, paramsF);
                    break;
                }
                return false;
            }
        });
    } catch (Exception e) {
        // TODO: handle exception
    }*/

    chatHead.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Log.e("Clickr", "Clickr");
            //              Intent intent = new Intent(getApplicationContext(), MainActivity.class);
            //              intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            //              getApplicationContext().startActivity(intent);
        }
    });

}
private void chathead_click(){
    Log.e("Clickr", "Clickr");

}
@Override
public void onDestroy() {
    super.onDestroy();
    if (chatHead != null)
        windowManager.removeView(chatHead);
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    try {

    } catch (Exception e) {
        e.printStackTrace();
    }
    return super.START_STICKY;
}


@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}

}

And I have added in Manifest file

<!-- Check In Service -->
        <service android:name=".CheckInService" 
            android:exported="true">
        </service>

Can You Please Tell Me why service is not working In Xiaomi MI4I

Upvotes: 2

Views: 563

Answers (0)

Related Questions