Come posso aggiungere la mia applicazione per android di default Dialer selezione?

La mia Domanda è: come posso aggiungere la mia applicazione per android di default Dialer selezione, per essere più specifici, senza l’utilizzo di android.l’intento.azione.CALL_PRIVILEGED?

Ora sto usando questo codice qui sotto, questo funziona bene:

<intent-filter>
    <action android:name="android.intent.action.CALL_PRIVILEGED" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="tel" />
</intent-filter>

TUTTAVIA Google ha recentemente pubblicato il: http://productforums.google.com/forum/#!argomento/mobile/wXqnbynsL8Y

E mail questo per i programmi che non uso l’intento di android.l’intento.azione.CALL_PRIVILEGED:

Problema:
Gli utenti dell’applicazione possono non essere in grado di fare di emergenza
telefono chiamate attraverso il sistema di connessione telefonica se hai scelto di avere
l’applicazione di instradare le chiamate. Come indicato nella documentazione,
le applicazioni in attesa per la CALL_PRIVILEGED Intento azione
intercettare servizio di emergenza chiamate dal sistema, ma potrebbe non essere in grado
per indirizzare in modo corretto. Si prega di notare che CALL_PRIVILEGED è un
limitato API, non inteso per l’uso all’interno di applicazioni di terze parti
che non è possibile instradare le chiamate di emergenza correttamente.

Soluzione:
• Rimuovere CALL_PRIVILEGED dall’Intento di filtri in codice Java e AndroidManifest.xml.
• Aggiornamento di Google Play elenco
descrizione di includere una dichiarazione che l’utilizzo di app come predefinita
dialer possono interferire con la composizione 911 servizi di emergenza.

La soluzione più semplice il mio essere di eliminazione, ma poi l’applicazione utilizza la funzionalità. Ma c’è un altro modo per aggiungere l’applicazione per la connessione predefinita di selezione? ma poi senza la CALL_PRIVILEGED intento?

Grazie in anticipo

Come posso aggiungere la mia applicazione per android di default Dialer selezione?

Solo un esempio di connessione predefinita selezione

Edit:

Altri miei intenti che uso io:

 <intent-filter>
            <action android:name="android.intent.action.CALL_BUTTON" />
                <category android:name="android.intent.category.DEFAULT" />
                 <data android:scheme="tel"/>
            </intent-filter>

             <intent-filter>
                <action android:name="android.intent.action.DIAL" />
                <category android:name="android.intent.category.DEFAULT" />
                 <data android:scheme="tel"/>
            </intent-filter>
  • ofcource <action android:name=”android.l’intento.azione.CALL_PRIVILEGED” /> opere, tuttavia google non consente più di utilizzare questo intento, come si può leggere nella mia domanda.
InformationsquelleAutor Greezer | 2013-05-16

 

3 Replies
  1. 3
             <intent-filter>
                <action android:name="android.intent.action.CALL_PRIVILEGED" />                
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="tel" />
             </intent-filter>

    Più importante è che la chiamata privilegiata è necessaria un’azione nell’intento di filtro con i dati come “tel” per uri.
    Al di sotto di autorizzazione tag è necessario per consentire la chiamata di telefono.
    Manca nel tuo codice nella categoria Launcher.

    <uses-permission android:name="android.permission.CALL_PHONE" />
    • funziona anche per me
    • Non funziona. Tutti i call apre nativo dialer subito. Ho provato Samsung 8(OS 7.0) & One+ (6.0). È stesso risultato
  2. 1

    Non c’è bisogno di intercettare CALL_PRIVILEGED per fare un dialer. Ci sono 3 gli intenti di interesse:

    ACTION_DIAL: richiama il dialer. Si deve intercettare questo.

    CHIAMATA: effettua una chiamata. Suppongo che avete bisogno di intercettare questo, se siete di routing la chiamata via VoIP, altrimenti basta passare al sistema.

    CALL_PRIVILEGED: i luoghi di una chiamata di Emergenza (911 in NOI, ecc). Non c’è bisogno di intercettare questo, dal momento che queste chiamate vengono instradate appositamente, anche senza una carta SIM, e senza carica utente.

    Per quel che vale, ho ricevuto la stessa email da parte di Google. La mia app non usare la CHIAMATA o CALL_PRIVILEGED intenti. C’era, tuttavia, un controllo in codice che il passato non era intenzione di questa azione (giusto per completezza). Quindi, credo che solo la scansione della sezione dati dell’apk per vedere se la stringa è utilizzato ovunque.

    Modifica provare questo, funziona per la mia app:

        <activity android:name=".ActivityName"
                  android:label="@string/activity_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.DIAL" />
                <action android:name="android.intent.action.CALL_BUTTON" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    
        <activity-alias android:targetActivity="fully.qualified.ActivityName"
                        android:name="fully.qualified.ActivityName_HTC_hack"
                        android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.DIAL" />
                <data android:scheme="tel" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
        </activity-alias>
    • Grazie per la risposta, ho preso il telefono e chiama a lavorare nella mia app, ma io ancora non ho avuto la mia domanda è visibile nell’elenco dei dialer di default.
    • Prova ad aggiungere CALL_BUTTON per il tuo intento di filtro. Viene inviato su alcuni telefoni, ad esempio, HTC, quando l’utente preme il grande pulsante di CHIAMATA. Sono abbastanza sicuro che la tua app si presenta come una selezione se è la manipolazione ACTION_DIAL – controllo facendo clic su un numero di telefono su una pagina web o un Google maps card. Non è necessario per gestire la CHIAMATA o CALL_PRIVILEGED solo per mostrare il dialer.
    • Ho fatto aggiornare la mia domanda con il modello che uso io, ma sul mio samsung telefoni acquisizione di telefono pulsante non funziona, mi manca qualcosa?
    • Grazie Amit, cercherò veloce ho un altro bug risolto. (non si può costruire bancomat)
    • Ho provato il tuo codice, e android non mi chiede di selezionare una connessione predefinita e si apre nativo dialer subito. Provato su più telefoni, ma tutti i telefoni mostra stessa procedura. Hai qualche idea di cosa potrei provare?
  3. 0

    Tenta “di android.l’intento.azione.DIAL”. L’utente deve avviare la chiamata manualmente, ma credo che sia la soluzione migliore.

    Di ingresso: Se il nulla, un vuoto dialer è iniziato; else getData() è URI di un numero di telefono da comporre o un tel: URI di un esplicito numero di telefono.
    rif: sviluppatore pagina

    • Grazie per la risposta, ho già utilizzare l’intento per il mio mimetype. Ma vorrei aggiungere la mia applicazione per la connessione predefinita elenco di selezione.

Lascia un commento