Android. Launch app from Dialer

后端 未结 4 858
借酒劲吻你
借酒劲吻你 2020-12-16 04:32

This is what I have so far but nothing happens when I input this combination in dialer

public class DialReceiver extends BroadcastReceiver
{
    @Override
           


        
相关标签:
4条回答
  • 2020-12-16 05:15

    According to ridoy's 2nd link,

    http://tikuflower.blogspot.com/2011/12/android.html

    It should be

    String phoneNumber = intent.getStringExtra("android.intent.extra.PHONE_NUMBER");
    

    rather than

    String phoneNumber = intent.getExtras.getString("Intent.EXTRA_PHONE_NUMBER");
    

    That change works for me at least...

    0 讨论(0)
  • 2020-12-16 05:26

    Try This,

    Add to this in manifest, here host is 12456, so your secret code is *#*#123456#*#* (dial-in dialped)

    <receiver android:name=".Dialer"> //here is your broadcast receiver class
            <intent-filter>
                <action android:name="android.provider.Telephony.SECRET_CODE" />
                <data android:scheme="android_secret_code"
                      android:host="123456"
                />
            </intent-filter>
        </receiver>
    

    here is your Broadcast Receiver class :

     class Dialer : BroadcastReceiver() {
    
        override fun onReceive(context: Context?, intent: Intent?) {
             // Declare Here your launcher activity in Intent
            var  i : Intent = Intent(context, MainActivity::class.java)  
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context!!.startActivity(i);
        }
    }
    
    0 讨论(0)
  • 2020-12-16 05:28

    Is the receiver getting the broadcast at all? If not, maybe you forgot to include the PROCESS_OUTGOING_CALLS permission.

    0 讨论(0)
  • 2020-12-16 05:30

    Try with these small changes..

    String phoneNumber = intent.getExtras.getString("Intent.EXTRA_PHONE_NUMBER");
    
                 if(phoneNumber.equals("*#588637#")) { 
                 //do your stuff
                 }
    

    And do not forget to add this line in your Manifest.xml file

    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
    

    Also you may find these helpful..

    • http://android.programmerguru.com/simple-dialer-application/
    • http://tikuflower.blogspot.com/2011/12/android.html
    0 讨论(0)
提交回复
热议问题