Благодаря некоторым комментариям здесь, и после некоторого поиска я наконец узнал, как это сделать.
Мой код ниже вызывается, когда я нажимаю кнопку. Он устанавливает звук для активации громкоговорителей во время разговора, а затем набирает номер.
Обратите внимание на комментарии в моем коде относительно разрешений.
buttonRep.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//1) we need to detect once the call has been established
//Note : this requires READ_PHONE_STATE permission in your manifest
final TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
tm.listen(new PhoneStateListener()
{
@SuppressWarnings("unused")
@Override
public void onCallStateChanged (int state, String incomingNumber)
{
if(state == TelephonyManager.CALL_STATE_OFFHOOK) //Here we are
{
//2) we switch sound to speakers
//Note : this requires MODIFY_AUDIO_SETTINGS permission in your manifest
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_CALL);
am.setSpeakerphoneOn(true);
int i = state;
//3) we don't need this call listener anymore so we "destroy it"
tm.listen(this, PhoneStateListener.LISTEN_NONE);
}
}
}
, PhoneStateListener.LISTEN_CALL_STATE);
//4) we are ready to place our call now
//Note : this requires CALL_PHONE permission in your manifest
Intent action = new Intent();
action.setAction(Intent.ACTION_CALL);
action.setData(Uri.parse("tel:660")); //660 is my answering-machine number :)
MainActivity.this.startActivity(action);
}
});
Это может легко достигается с помощью простого оператора SQL с использованием функции MySQL replace ()
. Прежде чем мы это сделаем, вам обязательно нужно сделать дамп базы данных или что-то еще, что вы используете для резервного копирования. Дело не только в том, что это The Right Thing To Do ™, но и в том, что если вы допустили ошибку при замене, ее может оказаться трудно отменить (да, вы можете откатиться назад, но вы можете выяснить свою ошибку позже)
Чтобы создать дамп базы данных из MySQL, вы можете запустить что-то вроде этого -
mysqldump -h hostname -u username -p databasename > my_sql_dump.sql
Где (и вы, вероятно, знаете это, но для полноты картины для будущих поколений ...) -
Теперь, когда мы разобрались с этим, вы можете войти в базу данных MySQL, используя:
mysql -h hostname -u username -p databasename
И просто запустите этот оператор:
UPDATE `wp-posts` SET `post-content` = REPLACE(`post-content`, "http://oldurl.com", "http://newurl.com");
И это должно сработать!
Если вы сделаете ошибку,
Используйте функцию замены строки в MySQL:
UPDATE MyTable SET textfield = REPLACE (текстовое поле, "http://oldurl.com/", "http: //newurl.com")[1239 impression
Есть удобный плагин Wordpress, который я использовал для поиска и замены страниц сообщений с помощью grep:
Недавно я использовал http://wordpress.org/extend/plugins/search-and-replace/ для обновления сайта с сервера разработки до общедоступного сервера. Я использовал плагин для изменения всех URL-адресов изображений с их формата «00.00.00.00/~user/» на их формат «example.com».
Работало отлично.
Конечно, сначала обязательно сделайте резервную копию базы данных на случай, если в процессе вы сделаете опечатку.