मैं इसकैसे BroadcastReceiver को रोकने के लिए मैन्युअल रूप में एंड्रॉयड
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example" android:versionCode="1" android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:theme="@android:style/Theme.Light">
<activity android:name=".WiFiDemo" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.example.WiFiScanReceiver">
<intent-filter>
<action android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
</intent-filter>
</receiver>
</application>
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"> </uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
मैं अन्य अनुप्रयोग इनपुट का उपयोग कर प्रोग्राम इस रिसीवर को रोकने के लिए इस BroadcastReceiver
बंद करना चाहते हैं की तरह AndroidManifest.xml
में BroadcastReceiver
पंजीकृत किया है मेरी?
public class WIFIBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction()
.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
Intent ssIntent = new Intent(context, com.Activity.class);
ssIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(ssIntent);
}
}
}
उत्तर :: मैं sharedprefernce चेकबॉक्स जोड़ सकते हैं और दो स्ट्रिंग बचाने के लिए और यहाँ विधि प्राप्त पर में मान्य है मेरी कोड
दूसरा आवेदन:
यहाँ मेरी रिसीवर कोड है :
final CheckBoxPreference checkboxPref = (CheckBoxPreference) getPreferenceManager()
.findPreference("checkboxPref");
// ...
checkboxPref
.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference,
Object newValue) {
if (newValue.toString().equals("true")) {
// String value = sp.getString(key, null);
sharedPreferences = getSharedPreferences(
PREFS_READ, Context.MODE_WORLD_READABLE);
Editor prefsPrivateEditor = sharedPreferences.edit();
prefsPrivateEditor.putString(KEY_READ1, "true");
prefsPrivateEditor.commit();
Toast.makeText(getApplicationContext(),
"CB: " + "true", Toast.LENGTH_SHORT).show();
} else {
sharedPreferences = getSharedPreferences(
PREFS_READ, Context.MODE_WORLD_READABLE);
Editor prefsPrivateEditor = sharedPreferences.edit();
prefsPrivateEditor.putString(KEY_READ1, "false");
prefsPrivateEditor.commit();
Toast.makeText(getApplicationContext(),
"CB: " + "false", Toast.LENGTH_SHORT)
.show();
}
return true;
}
});
पहले एप्लिकेशन में कोड मान्य करना onReceive
विधि के अंदर:
public class WIFIBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction()
.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
sharedPreferences = otherAppsContext.getSharedPreferences(
PREFS_READ, Context.MODE_WORLD_WRITEABLE);
String scaningAction = sharedPreferences.getString(KEY_READ1, null);
if (scaningAction.equals("true")) {
Intent ssIntent = new Intent(context, com.Activity.class);
ssIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(ssIntent);
}
}
}
}
यह मेरी ज़रूरत है। लेकिन मैं प्रसारण रिसीवर को अपंजीकृत करने में सक्षम नहीं हूं। गतिविधि के साथ कोई भी उत्तर किसी के लिए सहायक होगा।
WiFiScan बनाने का तरीका रिसीवर ऑब्जेक्ट? –
यह आपका ब्रॉडकास्ट रिसीवर है जिसे आप पहले बनाते हैं (कोड में आपने संलग्न किया है) – Jviaches
एप्लिकेशन को बैक अप लेने पर फिर से सक्षम करना न भूलें या ऑनसेसिव को – tyczj