Showing posts with label Pop up window over android native incoming call screen like true caller android app. Show all posts
Showing posts with label Pop up window over android native incoming call screen like true caller android app. Show all posts

Saturday, April 20, 2013

[android help] Pop up window over android native incoming call screen like true caller android app


I am developing an broadcast receiver for in coming calls in android and on getting incoming calls I want to inflate an pop up over native incoming call screen.


I have made that code completed. But now problem is that in android jelly bean api level 17 when a phone rings the PHONE_STATE is coming as OFF HOOK and If I am calling an activity, it get called but the code under it doesn't get executed I am giving you the code.


My broadcast reciver



package com.example.popwindowonincomingcallscreen;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import android.util.Log;

public class IncomingBroadcastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

Log.d("IncomingBroadcastReceiver: onReceive: ", "flag1");

String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
Log.d("IncomingBroadcastReceiver: onReceive: ", state);
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)
|| state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) {

Log.d("Ringing", "Phone is ringing");

Intent i = new Intent(context, IncomingCallActivity.class);
i.putExtras(intent);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
Wait.oneSec();
context.startActivity(i);

}

}

}


An the activity which I am calling



import android.app.Activity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.View.MeasureSpec;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;

public class IncomingCallActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {

try {
Log.d("IncomingCallActivity: onCreate: ", "flag2");

*/After this line code is not executed in jelly bean only/*

// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);

Log.d("IncomingCallActivity: onCreate: ", "flagy");

setContentView(R.layout.main);

Log.d("IncomingCallActivity: onCreate: ", "flagz");

String number = getIntent().getStringExtra(
TelephonyManager.EXTRA_INCOMING_NUMBER);
TextView text = (TextView) findViewById(R.id.text);
text.setText("Incoming call from " + number);
} catch (Exception e) {
Log.d("Exception", e.toString());
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}


After



try {
Log.d("IncomingCallActivity: onCreate: ", "flag2");
}


The code is not executing in jelly bean but in other version it is working.


I have tried almost all ways I can do. This code is displaying an translucent activity over native call screen and it doesn't block background controls like picking up the phone. But I want it like true caller. I have attached an snapshot how true caller is displaying an window on incoming call screen.


Please guide me through the way How can I achieve this functionality for android app.


This is how true caller works


enter image description here



.

stackoverflow.comm

Google Voice on T-Mobile? [General]

Google Voice on T-Mobile? So I recently switched from a GNex on Verizon to a Moto X DE on T-Mobile. I had always used Google Voice for my v...