2010-09-15 5 views
3

HI tous,Faux appel en android

Je veux développer une application d'appel de faux dans android. Après avoir cliqué sur le bouton, je dois recevoir un faux appel dans une période donnée. Y at-il un moyen de le faire .. des indices ou un exemple de code ...? S'il vous plaît laissez-moi savoir..Merci à l'avance.

+0

@ Bobby..grâce à votre idée..Veuillez me donner une idée de la façon d'afficher un faux écran d'appel entrant avec les options d'acceptation et de rejet ... ou tout autre code ... Merci d'avance pour votre aide. –

+0

Je ne sais pas, je ne fais pas Android-Programming ... il suffit de créer une application et le style de cette façon, qu'il ressemble à l'écran Appel entrant. Si vous n'avez aucune idée de comment faire cela ... vous pourriez vouloir trouver des tutoriels ou de bons livres sur la programmation sous Android. – Bobby

+0

sympa, c'est comme l'application Faux appel sur Play Store, http://oopsreview.com/create-fake-incoming-phone-call-android/ – yussan

Répondre

8

Android est une application open source. Utilise le!

Dans le Phone app on the git repository, vous pouvez trouver call_card.xml et CallCard.java, qui sont utilisés pour afficher l'écran d'appel entrant. En particulier le fichier java est assez long et complexe, mais la mise en page (combinée, bien sûr, avec les ressources auxquelles il fait référence) devrait vous donner une copie assez précise de l'écran d'appel Android par défaut.

+0

liens ne fonctionne pas ici. –

+0

Google a déplacé la source Android. La source de l'application Téléphone peut être trouvée ici de nos jours: https://android.googlesource.com/platform/packages/apps/Phone.git – benvd

1

Bouton classe d'événement clic:

définir le gestionnaire d'alarme à l'intention

Intent intent = new Intent(this, FakeCallReciever.class); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), 1222222, intent, 0); 
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 

if (mTimer.getText().toString().trim().equalsIgnoreCase("5 sec")) { 
    int i = 5; 
    alarmManager.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis() + (i * 1000), pendingIntent); 
    Toast.makeText(this, "Fake call scheduled after " + i + " sec",Toast.LENGTH_LONG).show(); 
} 
else if (mTimer.getText().toString().trim().equalsIgnoreCase("10 sec")) { 
    int i = 10; 
    alarmManager.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis() + (i * 1000), pendingIntent); 
    Toast.makeText(this, "Fake call scheduled after " + i + " sec",Toast.LENGTH_LONG).show(); 
} 

FakeCallReciever.class:

public class FakeCallReciever extends BroadcastReceiver { 

private PowerManager.WakeLock mWakelock; 
@SuppressWarnings("deprecation") 
private KeyguardManager.KeyguardLock mLock; 
private static ContentResolver sResolver; 

/** 
* onReceive for Reciever 
*/ 

@SuppressWarnings("deprecation") 
@Override 
public void onReceive(Context paramContext, Intent intent) { 

    this.mWakelock = ((PowerManager) paramContext.getSystemService("power")) 
      .newWakeLock(805306394/* | PowerManager.ON_AFTER_RELEASE */, 
        "wakelock"); 
    this.mWakelock.acquire(); 
    this.mLock = ((KeyguardManager) paramContext 
      .getSystemService("keyguard")).newKeyguardLock(""); 
    this.mLock.disableKeyguard(); 



    if (Constants.LOG) 
     Log.d("FAkceREciever Call", "================>"); 

    setLockPatternEnabled(true); 

    sResolver = paramContext.getContentResolver(); 

    Intent startMain = new Intent(); 
    startMain = new Intent(paramContext, InComingCall.class); 
    startMain.setAction("com.example.fakecall.MyService"); 
    startMain.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

    paramContext.startActivity(startMain); 
} 

/** 
* used for to enable lock in all patterns 
* 
* @param enabled 
*/ 
@SuppressWarnings("deprecation") 
public static void setLockPatternEnabled(boolean enabled) { 
    setBoolean(android.provider.Settings.System.LOCK_PATTERN_ENABLED, 
      enabled); 
} 

private static void setBoolean(String systemSettingKey, boolean enabled) { 
    android.provider.Settings.System.putInt(sResolver, systemSettingKey, 
      enabled ? 1 : 0); 
} 

} 

============= ===== InComingCall.class:

Prendre l'activité d'appel entrant pour montrer sim faux appel scr een.

Cela fonctionne pour moi.

+0

où est votre incoming.class? s'il vous plaît poster le code complet. –

+0

la classe d'insertion est UI AVEC NUMÉRO ET ACCEPTER ET REJETER LE BOUTON –