当前位置: 首页>>代码示例>>Java>>正文


Java Context.registerReceiver方法代码示例

本文整理汇总了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 "";
}
 
开发者ID:lizhangqu,项目名称:chromium-net-for-android,代码行数:23,代码来源:AndroidNetworkLibrary.java

示例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();
    }
}
 
开发者ID:wzx54321,项目名称:XinFramework,代码行数:14,代码来源:TimeReceiver.java

示例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;
        }
    }
}
 
开发者ID:zuoweitan,项目名称:Hitalk,代码行数:20,代码来源:ConnectivityNotifier.java

示例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);
    }
}
 
开发者ID:lizhangqu,项目名称:chromium-net-for-android,代码行数:16,代码来源:PowerMonitor.java

示例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);
        }
    }
}
 
开发者ID:attiqrehman1991,项目名称:AndroidRepositoryWithOfflineMode,代码行数:12,代码来源:LoginController.java

示例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);
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:37,代码来源:ShareHelper.java

示例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);
}
 
开发者ID:appwise-labs,项目名称:NoInternetDialog,代码行数:11,代码来源:NoInternetDialog.java

示例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());
                }
            }
        }
    }
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:22,代码来源:PluginProcessManager.java

示例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();
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:25,代码来源:BluetoothStateManager.java

示例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);
}
 
开发者ID:Maxr1998,项目名称:home-assistant-Android,代码行数:19,代码来源:LocationUpdateReceiver.java

示例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();
    }
}
 
开发者ID:jqjm,项目名称:Liteframework,代码行数:13,代码来源:ScreenReceiver.java

示例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();
    }
}
 
开发者ID:bunnyblue,项目名称:NoticeDog,代码行数:15,代码来源:AppMonitor.java

示例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);
}
 
开发者ID:mapbox,项目名称:mapbox-events-android,代码行数:5,代码来源:MapEventFactory.java

示例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();
    }
}
 
开发者ID:androidDaniel,项目名称:treasure,代码行数:31,代码来源:PhoneReceiver.java

示例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;
    }
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:9,代码来源:hh.java


注:本文中的android.content.Context.registerReceiver方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。