Bir aramanın ortasında, hava durumu bilgileri veya bu tür Facebook güncellemeleri gibi bazı bilgileri göstermek istiyorum.Aramanın ortasında yer alan bilgileri göster
İstediğim güncelleştirmenin aşağıdaki ekran görüntüsüne bakın.
Bir aramanın ortasında, hava durumu bilgileri veya bu tür Facebook güncellemeleri gibi bazı bilgileri göstermek istiyorum.Aramanın ortasında yer alan bilgileri göster
İstediğim güncelleştirmenin aşağıdaki ekran görüntüsüne bakın.
çek özel bir tost yapmak ve bu özel tost yoluyla güncellemeleri gösteriyor ki tost farklı çağrı states.Instead gösteren bir tost görebilirsiniz cevap bu stack overflow answer .in. Eğer
public class CustomPhoneStateListener extends PhoneStateListener {
ActivityManager activityManager;
Intent i1;
public CustomPhoneStateListener(Context context) {
super();
this.context = context;
i1 = new Intent(context, TelephoneyWithoutToastActivity.class);
i1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
@Override
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
//when Idle i.e no call
Toast.makeText(context, "Phone state Idle", Toast.LENGTH_LONG).show();
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
//when Off hook i.e in call
//Make intent and start your service here
Toast.makeText(context, "Phone state Off hook", Toast.LENGTH_LONG).show();
break;
case TelephonyManager.CALL_STATE_RINGING:
ActivityManager localActivityManager = (ActivityManager) this.context.getSystemService("activity");
for (String str = ((ActivityManager.RunningTaskInfo) localActivityManager.getRunningTasks(1).get(0)).topActivity.flattenToString();; str = ((ActivityManager.RunningTaskInfo) localActivityManager.getRunningTasks(1).get(0)).topActivity.flattenToString()) {
if ((!str.contains("com.android.phone.InCallScreen")))
continue;
Log.d("IncomingCallPlus", "*****************************************************");
context.startActivity(i1);
return;
}
default:
break;
}
}
}
ekrana çağırarak varsayılan dokunuş aktive için etkinlik için bu eklemek için CustomPhoneStateListener bu kodu deneyin yerine tost aktivite göstermiştir istiyorsanız
.
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
bu fonksiyon arayan ekran ve açılır hem dokunmatik verecektir
public void addInvitePopup(final String number, Context c) {
//check if pref is ok with invite in call
// if(!Preferences.getInstance(c.getInviteInCall())){return ; }
// sets the WindowManager
WindowManager wm = (WindowManager) c.getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT |
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.x = 250;
params.height = LayoutParams.WRAP_CONTENT;
params.width = LayoutParams.WRAP_CONTENT;
params.format = PixelFormat.TRANSLUCENT;
final Context ct = c;
params.gravity = Gravity.TOP;
params.setTitle("Testing");
LinearLayout ly = new LinearLayout(c);
ly.setOrientation(LinearLayout.VERTICAL);
Button inviteButton = new Button(c);
inviteButton.setClickable(true);
inviteButton.setBackgroundDrawable(c.getResources().getDrawable(R.drawable.ic_launcher));
inviteButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(), "adding to blacklist..", Toast.LENGTH_LONG).show();
v.setBackgroundDrawable(ct.getResources().getDrawable(R.drawable.images));
v.setClickable(false);
// sendMessage(v, number);
//Track this event:
//MixPanelTracking.setPropKeyValue(getApplicationContext(), null, null, "Add friend - During Call");
}
});
inviteButton.setWidth(30);
inviteButton.setHeight(30);
// inviteButton.setLayoutParams(WindowManager.LayoutParams.WRAP_CONTENT,
// WindowManager.LayoutParams.WRAP_CONTENT);
ly.addView(inviteButton);
wm.addView(ly, params);
// wm.addView(inviteButton, params);
Log.i("TTT", "after add view");
}
i it.ı dokunuş acivating türlü çözüme bulamıyor çalıştı
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
manifest dosyasında bu iznini ekleyin her iki activity.if herhangi bir referans üzerinde bana bildirin ..... –
denedim ... onun çalışmaları ince.Arama ve pop-up hem çağrı ekrana dokunun ... cevap fonksiyonu ekledim .. bu fonksiyon ekledi senin için customphonestatelistner (altında zil) ur kodu ve araştırma için teşekkürler ... :) –
Ben bir addInvitePopup fonksiyonu ekledim.just customphonestatelistner sınıfında bu işlevi ekleyin ve 'case TelephonyManager.CALL_STATE_RINGING: addInvitePopup ("hai") olarak adlandırın, c)' Bu durumda customphonestatelistner (ben de cevap olarak da ekledim) –