Pour faire la vérification de licence délivrant une réponse «sans licence» avec ou sans connexion faible, j'ai essayé un travail autour. Je voulais vérifier la force du signal et si elle est supérieure à 50% (15) ou renvoie un 99 en raison de l'absence de connexion, je veux qu'elle passe la vérification jusqu'à ce que l'application soit démarrée avec un meilleur signal. De cette façon, aucun utilisateur autorisé ne devrait jamais voir la réponse NON LICENCIE. Question 1: Lors de l'utilisation de getGsmSignalStrength() renvoie seulement force de téléphone/3g/4g ou force wifi. Si l'utilisateur est en mode wifi que cela devrait fonctionner aussi bien? Je sais comment vérifier pour voir si le wifi est connecté, donc je peux toujours l'utiliser pour vérifier le wifi si nécessaire.getGsmSignalStrength() renvoie toujours '99'
Question 2: getGsmSignalStrength() renvoie toujours une valeur de '99' même lorsque je regarde mon téléphone et qu'il montre toute sa puissance. L'objectif entier de ConnecetivityCheck.java est de vérifier puis de continuer. En ce moment je l'ai juste sautant automatiquement au-dessus du contrôle et montrant la boîte de Toast avec le nombre de getGsmSignalStrength(), mais ceci montre toujours '99'.
S'il vous plaît, aidez, merci. Ci-dessous je joins mon code ...
Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.emsprotocols.ilpaemsprotocols"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<!-- PERMISSIONS -->
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- LICENSE PERMISSIONS -->
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<!-- USES -->
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<activity android:name=".ProtocolsSplashActivity"
android:label="@string/app_name">
<intent-filter>
Le .java
package com.emsprotocols.ilpaemsprotocols;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.SignalStrength;
import android.telephony.TelephonyManager;
import android.widget.Toast;
public class ConnectivityCheck extends Activity {
TelephonyManager Tel;
MyPhoneStateListener MyListener;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
/* Update the listener, and start it */
MyListener = new MyPhoneStateListener();
Tel = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
Tel.listen(MyListener ,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
startActivity(new Intent(this, ProtocolsMMenuActivity.class));
ConnectivityCheck.this.finish();
}
/* Called when the application is minimized */
@Override
protected void onPause()
{
super.onPause();
Tel.listen(MyListener, PhoneStateListener.LISTEN_NONE);
}
/* Called when the application resumes */
@Override
protected void onResume()
{
super.onResume();
Tel.listen(MyListener,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
}
/* —————————– */
/* Start the PhoneState listener */
/* —————————– */
private class MyPhoneStateListener extends PhoneStateListener
{
/* Get the Signal strength from the provider, each tiome there is an update */
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength)
{
int strengthAmplitude = signalStrength.getGsmSignalStrength();
super.onSignalStrengthsChanged(signalStrength);
Toast.makeText(getApplicationContext(), "GSM Cinr = "
+ String.valueOf(strengthAmplitude), Toast.LENGTH_SHORT).show();
}
};/* End of private Class */
}
Je suis aux États-Unis. DOH! Eh bien cela expliquerait pourquoi il ne vient que 99. LOL. Je vous remercie. C'est toujours les petites choses que tu regardes. Connaissez-vous la gamme de CDMA? – djmedic
Non désolé, mais cette information ne devrait pas être trop difficile à trouver. Bonne chance! – Heinrisch
Quelle est la portée de CDMA? son dBm toujours négatif, donc pas sûr de savoir comment cela fonctionne pour les pourcentages. – JPM