本文整理汇总了Java中android.content.Context.registerReceiver方法的典型用法代码示例。如果您正苦于以下问题:Java Context.registerReceiver方法的具体用法?Java Context.registerReceiver怎么用?Java Context.registerReceiver使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.content.Context
的用法示例。
在下文中一共展示了Context.registerReceiver方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getWifiSSID
import android.content.Context; //导入方法依赖的package包/类
/**
* Gets the SSID of the currently associated WiFi access point if there is one. Otherwise,
* returns empty string.
*/
@CalledByNative
public static String getWifiSSID(Context context) {
if (context == null) {
return "";
}
final Intent intent = context.registerReceiver(
null, new IntentFilter(WifiManager.NETWORK_STATE_CHANGED_ACTION));
if (intent != null) {
final WifiInfo wifiInfo = intent.getParcelableExtra(WifiManager.EXTRA_WIFI_INFO);
if (wifiInfo != null) {
final String ssid = wifiInfo.getSSID();
if (ssid != null) {
return ssid;
}
}
}
return "";
}
示例2: registerReceiver
import android.content.Context; //导入方法依赖的package包/类
public void registerReceiver(Context context, TimeListener timeListener) {
try {
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_TIME_CHANGED);
filter.addAction(Intent.ACTION_TIME_TICK);
filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
filter.setPriority(Integer.MAX_VALUE);
context.registerReceiver(this, filter);
this.timeListener = timeListener;
} catch (Exception e) {
e.printStackTrace();
}
}
示例3: tryToRegisterForNetworkStatusNotifications
import android.content.Context; //导入方法依赖的package包/类
private boolean tryToRegisterForNetworkStatusNotifications(Context context) {
synchronized (lock) {
if (hasRegisteredReceiver) {
return true;
}
try {
if (context == null) {
return false;
}
context = context.getApplicationContext();
context.registerReceiver(this, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
hasRegisteredReceiver = true;
return true;
} catch (ReceiverCallNotAllowedException e) {
return false;
}
}
}
示例4: create
import android.content.Context; //导入方法依赖的package包/类
/**
* Create a PowerMonitor instance if none exists.
* @param context The context to register broadcast receivers for. The application context
* will be used from this parameter.
*/
public static void create(Context context) {
context = context.getApplicationContext();
if (sInstance == null) {
sInstance = LazyHolder.INSTANCE;
ApplicationStatus.registerApplicationStateListener(sInstance);
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatusIntent = context.registerReceiver(null, ifilter);
if (batteryStatusIntent != null) onBatteryChargingChanged(batteryStatusIntent);
}
}
示例5: processLogin
import android.content.Context; //导入方法依赖的package包/类
public void processLogin(int type, final Object data, final Handler handler, boolean isInternet, Context context, IntentFilter intentFilter) {
if (type == ACTION_SAVE) {
if (data instanceof ParentObject) {
LoginController.this.handler = handler;
ParentObject parentObject = (ParentObject) data;
loginDAB = new LoginDAB();
context.registerReceiver(broadcastReceiver, intentFilter);
loginDAB.saveData(parentObject, LoginController.this, isInternet, context, intentFilter);
}
}
}
示例6: sendChooserIntent
import android.content.Context; //导入方法依赖的package包/类
@TargetApi(Build.VERSION_CODES.LOLLIPOP_MR1)
static void sendChooserIntent(boolean saveLastUsed, Activity activity,
Intent sharingIntent,
@Nullable TargetChosenCallback callback) {
synchronized (LOCK) {
if (sTargetChosenReceiveAction == null) {
sTargetChosenReceiveAction = activity.getPackageName() + "/"
+ TargetChosenReceiver.class.getName() + "_ACTION";
}
Context context = activity.getApplicationContext();
if (sLastRegisteredReceiver != null) {
context.unregisterReceiver(sLastRegisteredReceiver);
// Must cancel the callback (to satisfy guarantee that exactly one method of
// TargetChosenCallback is called).
// TODO(mgiuca): This should be called immediately upon cancelling the chooser,
// not just when the next share takes place (https://crbug.com/636274).
sLastRegisteredReceiver.cancel();
}
sLastRegisteredReceiver = new TargetChosenReceiver(saveLastUsed, callback);
context.registerReceiver(
sLastRegisteredReceiver, new IntentFilter(sTargetChosenReceiveAction));
}
Intent intent = new Intent(sTargetChosenReceiveAction);
intent.setPackage(activity.getPackageName());
intent.putExtra(EXTRA_RECEIVER_TOKEN, sLastRegisteredReceiver.hashCode());
final PendingIntent pendingIntent = PendingIntent.getBroadcast(activity, 0, intent,
PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_ONE_SHOT);
Intent chooserIntent = Intent.createChooser(sharingIntent,
activity.getString(R.string.share_link_chooser_title),
pendingIntent.getIntentSender());
if (sFakeIntentReceiverForTesting != null) {
sFakeIntentReceiverForTesting.setIntentToSendBack(intent);
}
fireIntent(activity, chooserIntent);
}
示例7: initReceivers
import android.content.Context; //导入方法依赖的package包/类
private void initReceivers(Context context) {
wifiReceiver = new WifiReceiver();
context.registerReceiver(wifiReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
networkStatusReceiver = new NetworkStatusReceiver();
context.registerReceiver(networkStatusReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
wifiReceiver.setConnectionListener(this);
networkStatusReceiver.setConnectionCallback(this);
}
示例8: registerStaticReceiver
import android.content.Context; //导入方法依赖的package包/类
public static void registerStaticReceiver(Context context, ApplicationInfo pluginApplicationInfo, ClassLoader cl) throws Exception {
List<ActivityInfo> infos = ApkManager.getInstance().getReceivers(pluginApplicationInfo.packageName, 0);
if (infos != null && infos.size() > 0) {
CharSequence myPname = null;
try {
myPname = ApkManager.getInstance().getProcessNameByPid(Process.myPid());
} catch (Exception e) {
}
for (ActivityInfo info : infos) {
if (TextUtils.equals(info.processName, myPname)) {
try {
for (IntentFilter filter : ApkManager.getInstance().getReceiverIntentFilter(info)) {
context.registerReceiver((BroadcastReceiver) cl.loadClass(info.name).newInstance(), filter);
}
} catch (Exception e2) {
JLog.logApk("注册静态Receiver失败 Receiver名=" + info.name + ",e=" + e2.getMessage());
}
}
}
}
}
示例9: BluetoothStateManager
import android.content.Context; //导入方法依赖的package包/类
public BluetoothStateManager(@NonNull Context context, @Nullable BluetoothStateListener listener) {
this.context = context.getApplicationContext();
this.bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
this.bluetoothScoReceiver = new BluetoothScoReceiver();
this.bluetoothConnectionReceiver = new BluetoothConnectionReceiver();
this.listener = listener;
if (this.bluetoothAdapter == null)
return;
requestHeadsetProxyProfile();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
context.registerReceiver(bluetoothConnectionReceiver, new IntentFilter(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED));
}
Intent sticky = context.registerReceiver(bluetoothScoReceiver, new IntentFilter(getScoChangeIntent()));
if (sticky != null) {
bluetoothScoReceiver.onReceive(context, sticky);
}
handleBluetoothStateChange();
}
示例10: logLocation
import android.content.Context; //导入方法依赖的package包/类
private void logLocation(@NonNull Location location, @NonNull Context context) {
Log.d(TAG, "Sending location");
String deviceName = Utils.getPrefs(context).getString(Common.PREF_LOCATION_DEVICE_NAME, null);
if (TextUtils.isEmpty(deviceName)) {
return;
}
Intent batteryStatus = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int percentage = 0;
if (batteryStatus != null) {
int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, 1);
percentage = Math.round(level / (float) scale * 100);
}
Intent serviceIntent = new Intent(context, HassService.class);
serviceIntent.putExtra(EXTRA_ACTION_COMMAND, new DeviceTrackerRequest(deviceName, location.getLatitude(), location.getLongitude(), Math.round(location.getAccuracy()), percentage).toString());
context.startService(serviceIntent);
}
示例11: registerScreenReceiver
import android.content.Context; //导入方法依赖的package包/类
public void registerScreenReceiver(Context context, ScreenListener screenListener) {
try {
this.screenListener = screenListener;
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
Log.d(TAG, "注册屏幕解锁、加锁广播接收者...");
context.registerReceiver(this, filter);
} catch (Exception e) {
e.printStackTrace();
}
}
示例12: start
import android.content.Context; //导入方法依赖的package包/类
public void start(Context context, List<App> appsToMonitor) {
this.context = context;
this.appsToMonitor = appsToMonitor;
this.lastSeenRunningApps = new ArrayList();
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.SCREEN_OFF");
filter.addAction("android.intent.action.SCREEN_ON");
filter.addAction(ACTION_MONITOR_APPS);
this.receiver = new AppMonitorReceiver();
context.registerReceiver(this.receiver, filter);
if (((PowerManager) context.getSystemService("power")).isScreenOn()) {
startMonitoring();
}
}
示例13: registerBatteryUpdates
import android.content.Context; //导入方法依赖的package包/类
private Intent registerBatteryUpdates(Context context) {
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
return context.registerReceiver(null, filter);
}
示例14: registerReceiver
import android.content.Context; //导入方法依赖的package包/类
/**
* 去电时:
* 未接:phone_state=OFFHOOK;
* 挂断:phone_state=IDLE
* 来电时:
* 未接:phone_state=RINGING
* 已接:phone_state=OFFHOOK;
* 挂断:phone_state=IDLE
*/
//public void registerCallStateListener(Context context, PhoneStateListener listener) {
// try {
// //获取电话通讯服务
// TelephonyManager tpm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
// tpm.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
// } catch (Exception e) {
// e.printStackTrace();
// }
//}
public void registerReceiver(Context context, PhoneListener phoneListener) {
try {
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.PHONE_STATE");
filter.addAction("android.intent.action.NEW_OUTGOING_CALL");
filter.setPriority(Integer.MAX_VALUE);
context.registerReceiver(this, filter);
this.phoneListener = phoneListener;
} catch (Exception e) {
e.printStackTrace();
}
}
示例15: e
import android.content.Context; //导入方法依赖的package包/类
private synchronized void e() {
if (!this.a) {
Context c = hn.a().c();
this.b = a(c);
c.registerReceiver(this, new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE"));
this.a = true;
}
}