当前位置: 首页 > 知识库问答 >
问题:

在android中设置来电自定义振动

解飞语
2023-03-14

我希望有人能在这个问题上提供一些意见。欢迎对这两种方法或其他建议提出意见。

共有1个答案

汪兴为
2023-03-14
<uses-permission android:name="android.permission.VIBRATE"/>
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Start without a delay
// Each element then alternates between vibrate, sleep, vibrate, sleep...
long[] pattern = {0, 100, 1000, 300, 200, 100, 500, 200, 100};

// The '-1' here means to vibrate once, as '-1' is out of bounds in the pattern array
v.vibrate(pattern, -1);
<uses-permission android:name="android.permission.READ_CONTACTS" />
ContentResolver cr = getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
                null, null, null, null);
        if (cur.getCount() > 0) {
            while (cur.moveToNext()) {
                  String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
                  String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));                      
                  if (Integer.parseInt(cur.getString(
                        cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
                     Cursor pCur = cr.query(
                               ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                               null,
                               ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
                               new String[]{id}, null);
                     while (pCur.moveToNext()) {
                         String phoneNo = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                         Toast.makeText(NativeContentProvider.this, "Name: " + name + ", Phone No: " + phoneNo, Toast.LENGTH_SHORT).show();
                     }
                    pCur.close();
                }
            }
        }
    null
public void setPatternMapping(String phonr_nr, long[] pattern){

    //Database call here. Example:
    try{
        database.open();
        database.setPattern(phone_nr, pattern);
        database.close();
    }catch(SQLiteException e){
        e.printStackTrace();
    }

}
public long[] getPattern(String phone_nr){

    //Database call here. Example:
    long[] pattern = null;
    try{
        database.open();
        pattern = database.setPattern(phone_nr, pattern);
        database.close();
    }catch(SQLiteException e){
        e.printStackTrace();
    }
    return pattern;

}
<receiver android:name=".CallReceiver" >
    <intent-filter>
        <action android:name="android.intent.action.PHONE_STATE" />
    </intent-filter>
</receiver> 
public class CallReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, Intent intent) {
        TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
        telephony.listen(new PhoneStateListener(){
            @Override
            public void onCallStateChanged(int state, String incomingNumber) {
                super.onCallStateChanged(state, incomingNumber);

                //Make a database call, to get the vibrate pattern 
                long[] pattern = getPattern(incomingNumber);
                //Set the phone to vibrate using that pattern, if there was a mapping
                if(pattern != null){                     
                    Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
                    v.vibrate(pattern, -1);
                }
                System.out.println("incomingNumber : "+incomingNumber);
            }
        },PhoneStateListener.LISTEN_CALL_STATE);
    }
}
AudioManager am =(AudioManager)getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
 类似资料:
  • 因此,我在我的Flatter Web项目中实现了RazorPay支付网关。支付网关已成功实现。但我的问题是如何设置索引中定义的Javascript属性。html文件。 index.html 上面的代码是我更新的索引的一小部分。html。我们如何从我的Flatter项目中设置var选项图的键。比如,如果我想更改金额的值,我如何将其从dart文件传递到索引。html。 我的颤振医生 index.htm

  • 在Java中,定义了与人们想要如何看待事物相关的事物(比如货币格式、月份名称以及一周开始的时间)。 解析月份名称时(使用)会变得很棘手。 如果使用或Sep的缩写形式是九月。 如果使用Sep在Java11中也有缩写形式。。。但是,当您尝试Java 17时,它有(因为Unicode CLDR端的更改,我问这是否正确)。 结果是,我的测试在尝试使用Java 17构建时开始失败。 我当前代码使用而不是

  • 问题内容: 我正在研究Android项目。我有一个prefs.xml代码,像这样 而且我需要自定义首选项布局。我创造了; custom_name_setting_layout.xml 并编写一个SettingActivity.java 我的问题是;我写了setBackgroundColor方法,但是没有用。不起作用的意思是,该程序正在运行而没有错误(例如NullReferenceException

  • 编辑: 我的理解可能是错误的,但这是一个不同于以编程方式设置语言环境的问题,因为我已经实现了那里建议的答案,我仍然有一些问题。 在这个问题中,我请求帮助解决这些问题(在设置的语言环境中没有参考的问题)。 原始帖子 我试图在我的应用程序中实现自定义语言环境,并遇到几个问题。 在调用setContentView之前,我在所有活动中使用以下代码: 编辑: 我还测试了它与: 我添加到Android中的所有

  • 介绍: 现在基于css font-face的字体图标越来越流行。 这种图标具有矢量图的特点,可以不失真的自由缩放,还可以通过css来设置图标的颜色,还有就是网络上资源特别丰富。X5系统自带了数百个字体图标, 用户还可以通过配置使用自己下载的字体图标, 下边就介绍一下具体的使用方法。 首先以fortawesome 网站为例(网址:http://fortawesome.github.io/Font-A