Java android:保存联系人号码并在应用程序中访问

Java android:保存联系人号码并在应用程序中访问,java,android,android-intent,Java,Android,Android Intent,我正在制作一个应用程序,该应用程序将允许特定号码在手机处于静默状态时响起,并且我能够在特定号码呼叫时成功更改手机状态。现在,我需要访问联系人详细信息,保存这些信息,并让应用程序在该号码呼叫时访问这些信息,以便我的应用程序可以更改其声音状态。请帮助我了解资源、想法、要做的事情等。我还提供了我的应用程序的代码 public class MainActivity extends BroadcastReceiver { Context pcontext; @Override p

我正在制作一个应用程序,该应用程序将允许特定号码在手机处于静默状态时响起,并且我能够在特定号码呼叫时成功更改手机状态。现在,我需要访问联系人详细信息,保存这些信息,并让应用程序在该号码呼叫时访问这些信息,以便我的应用程序可以更改其声音状态。请帮助我了解资源、想法、要做的事情等。我还提供了我的应用程序的代码

public class MainActivity extends BroadcastReceiver {

    Context pcontext;
    @Override
    public void onReceive(Context context, Intent intent) {

        TelephonyManager tmngr= (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
        pcontext=context;
        MyPhoneStateListener PhoneListener = new MyPhoneStateListener(pcontext);
        tmngr.listen(PhoneListener,PhoneStateListener.LISTEN_CALL_STATE);
    }

    private class MyPhoneStateListener extends PhoneStateListener {


        public MyPhoneStateListener(Context pcontext) {
           // pcontext=context;
        }

        public void onCallStateChanged(int state,String incoming)
        {
            AudioManager am=(AudioManager)pcontext.getSystemService(Context.AUDIO_SERVICE);
            String mode = "";
            if (state == 1) {

                String msg = "New Phone Call Event. Incomming Number : "+incoming;
                int duration = Toast.LENGTH_SHORT;
               // Context pcontext;

                if(incoming.equals("9588840")||incoming.equals("+9195648840"))
                {
                    Toast toast;
                    toast = Toast.makeText(pcontext, msg, duration);
                    toast.show();
                    am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
                    if(am.getRingerMode()==(AudioManager.RINGER_MODE_NORMAL))
                    { mode="NORMAL_MODE";}
                    Toast.makeText(pcontext,mode,Toast.LENGTH_SHORT).show();
                }
                else
                {
                    if(am.getRingerMode()==(AudioManager.RINGER_MODE_NORMAL))
                    { mode="SILENT_MODE";}
                    am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
                    Toast.makeText(pcontext,mode,Toast.LENGTH_SHORT).show();
                }
        }
    }
}
}

你应该从总体上开始。然后您可以进行更改。这里有一些。

经过几天的研究,我制作了那个应用程序。对于它的开发,我使用sqlite保存数据库,我将参考它 之后,我制作了一个动态广播接收器,当我使用的动态广播接收器的呼叫状态为响铃时将使用它 在从联系人中获取数据并使用游标将输入的号码与每个条目进行比较后,我就能够制作出这个应用程序。 感谢stack成员和团队的帮助