Я новичок в программировании для Android. Я искал очень длинную пробку для номера входящего вызова. Мои попытки поиска не увенчались успехом. Я решил создать плагин. Я используется здесь в качестве примера, являются источниками: https://github.com/petervojtek/cordova-plugin-signal-strength/blob/master/src/org/apache/cordova/plugin/SignalStrength.java и https://github.com/don/cordova-plugin-helloОбнаружение входящего вызова на устройстве Android с помощью Cordova
Вот что я придумал:
package org.apache.cordova.plugin;
import android.content.Context;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CallbackContext;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.Date;
import android.content.BroadcastReceiver;
import android.content.Intent;
public class SignalStrength extends CordovaPlugin {
CallStateListener ssListener;
String Number;
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if (action.equals("go")) {
TelephonyManager tm = (TelephonyManager) cordova.getActivity().getSystemService(Context.TELEPHONY_SERVICE);
ssListener = new CallStateListener();
tm.listen(ssListener, PhoneStateListener.LISTEN_CALL_STATE);
callbackContext.success(name);
return true;
}
return false;
}
class CallStateListener extends PhoneStateListener {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
// called when someone is ringing to this phone
String Number= incomingNumber;
break;
}
}
}
}
манифеста:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
...
<receiver android:name=".CallReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
Но, к сожалению возвращает NULL Помоги мне понимать.
Этот плагин, кажется, удаляется из хранилища –