15
날씨 정보와 같은 화면에서 통화 중에 일부 정보를 표시하거나 그와 같은 Facebook 업데이트가 도움이 될 수 있습니다.통화 도중 정보 표시
내가 원하는 업데이트의 스크린 샷을 참조하십시오.
날씨 정보와 같은 화면에서 통화 중에 일부 정보를 표시하거나 그와 같은 Facebook 업데이트가 도움이 될 수 있습니다.통화 도중 정보 표시
내가 원하는 업데이트의 스크린 샷을 참조하십시오.
검사 사용자 정의 건배하고 사용자 정의 토스트를 통해 업데이트를 보여 그 토스트 다른 통화 states.Instead을 보여주는 건배를 볼 수있는 대답이 stack overflow answer .IN. 당신이
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;
}
}
}
화면을 호출 기본에 터치를 활성화하기위한 활동이를 추가하려면 CustomPhoneStateListener에이 코드를 시도하는 대신 토스트의 활동을 표시하려는 경우
.
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
이 함수가 호출 화면과 팝업 모두 터치를 줄 것이다
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");
}
내가 하란 터치를 acivating에 대한 해결책을 찾을 수없는 시도
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
매니페스트 파일에이 권한을 추가 두 가지 activity.if에 대한 참조를하면 ..... –
나는 그것을 시도 ... 그 작품 괜찮아요. 전화 화면과 팝업 모두에 터치를 잡아 ... 나는 대답에 함수를 추가 ... 그 기능을 추가 ~에 customphonestatelistner (울리는 중) .URL 코드 및 연구용 감사 ... :) –
answer.addInvitePopup 함수를 추가하여 customphonestatelistner 클래스에 해당 함수를 추가하고 'case like TelephonyManager.CALL_STATE_RINGING : addInvitePopup ("hai" 기음);' customphonestatelistner (그 대답도 덧붙였다)에서 그 경우 –