• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Help overirde incoming call screen

Hello. I am trying to over ride the android incoming call screen. I have succeeded so far with the following code. `




BroadcastReceiver myBroadcastReceiver = new BroadcastReceiver() {
public boolean viewCreated = false;
public WindowManager wm=null;
public LinearLayout ly = null;
@override

public void onReceive (Context mContext, Intent intent)
{


android.widget.Toast.makeText(mContext, "!!!!!!!!!!!!!!!!!!!!!!!!!!11", android.widget.Toast.LENGTH_SHORT).show();

try {

if(wm==null) {

String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);

if (!viewCreated) {


wm = ((WindowManager) getApplicationContext().getSystemService(Service.WINDOW_SERVICE));
//ly = new LinearLayout(mContext);

WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT | WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSPARENT);

if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
Toast.makeText(mContext, "Phone Is Ringing", Toast.LENGTH_LONG).show();


// Intent intent1 = new Intent(mContext, incomingcallscreeen.class);


mContext1=mContext;

params.height = WindowManager.LayoutParams.MATCH_PARENT;
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.format = PixelFormat.TRANSPARENT;
params.gravity = Gravity.TOP;


final LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// ly = (LinearLayout) inflater.inflate(R.layout.incomingcallscreen, null);

WindowManager.LayoutParams params1 = new WindowManager.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT | WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSPARENT);
params1.height = WindowManager.LayoutParams.MATCH_PARENT;
params1.width = WindowManager.LayoutParams.MATCH_PARENT;
params1.format = PixelFormat.TRANSPARENT;
params1.gravity = Gravity.TOP;

ly = (LinearLayout) inflater.inflate(R.layout.incomingcallscreen, null);


ly.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {

Toast.makeText(mContext1, "clicked!!!", Toast.LENGTH_LONG).show();
}
});







}


};



`

I can get my incoming call screen to show up, but I cant hook up any onclick events to any of the buttons or even just the plain layout. When I try it doesn't even error nothing happens. Thanks bye.
 
Back
Top Bottom