相关疑难解决方法(0)

在Android应用程序中检查互联网连接的广播接收器

我正在开发一个用于检查互联网连接的Android广播接收器.

问题是我的广播接收器被调用了两次.我希望它只在网络可用时才被调用.如果它不可用,我不希望得到通知.

这是广播接收器

public class NetworkChangeReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, final Intent intent) {
        final ConnectivityManager connMgr = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);

        final android.net.NetworkInfo wifi = connMgr
                .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        final android.net.NetworkInfo mobile = connMgr
                .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

        if (wifi.isAvailable() || mobile.isAvailable()) {
            // Do something

            Log.d("Network Available ", "Flag No 1");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.broadcastreceiverforinternetconnection"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <receiver android:name=".NetworkChangeReceiver" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" …
Run Code Online (Sandbox Code Playgroud)

java android broadcastreceiver android-networking android-wifi

228
推荐指数
12
解决办法
25万
查看次数

GoogleService无法初始化

我在我的Android应用程序中使用谷歌地图.我已经创建了密钥并在清单文件中添加了必要的权限.但很快我启动应用程序,我在调试器中收到此消息:

GoogleService初始化失败,状态:10,缺少预期资源:'R.string.google_app_id'用于初始化Google服务.可能的原因是缺少google-services.json或com.google.gms.google-services gradle插件.

我不确定什么是错的.地图工作正常,我可以毫无问题地使用它.我的gradle文件有这个条目:

编译'com.google.android.gms:play-services:8.4.0'

什么是抱怨,我该如何缓解它?

android google-maps android-mapview android-maps-v2

112
推荐指数
3
解决办法
10万
查看次数

打开位置服务而不导航到设置页面

对于提示用户转到设置页面并启用位置服务并再次返回的传统方法,我注意到在一些最新的应用程序中执行相同操作的更简单方法.

参考下面的截图,它会提示一个对话框,用户只需点击一下鼠标,使定位服务,它在这些应用程序的工作原理.

我怎样才能实现同样的目标?

在此输入图像描述

android location

104
推荐指数
6
解决办法
7万
查看次数

Android以编程方式打开/关闭WiFi HotSpot

是否有API以编程方式打开/关闭Android上的WiFi HotSpot?

我应该用什么方法打开/关闭它?

更新:有这个选项可以启用HotSpot,只需打开/关闭WiFi,但这对我来说不是一个好的解决方案.

android wifi android-wifi

53
推荐指数
4
解决办法
9万
查看次数

LocationSettingsRequest对话框启用GPS - 跳过onActivityResult()

我的应用程序的一部分需要位置服务,因此如果当前关闭位置,应用程序将提示用户启用它.下面是我正在做它:(也见于这个堆栈溢出的答案)

LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
            .addLocationRequest(mLocationRequest);
builder.setAlwaysShow(true);

PendingResult<LocationSettingsResult> result = LocationServices.SettingsApi.checkLocationSettings(mGoogleApiClient, builder.build());

result.setResultCallback(new ResultCallback<LocationSettingsResult>() 
{
     @Override
     public void onResult(LocationSettingsResult result) 
     {
         final Status status = result.getStatus();
         final LocationSettingsStates = result.getLocationSettingsStates();
         switch (status.getStatusCode()) 
         {
             case LocationSettingsStatusCodes.SUCCESS:
                 // All location settings are satisfied. The client can initialize location
                 // requests here.
                 ...
                 Log.d("onResult", "SUCCESS");
                 break;
             case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
                 // Location settings are not satisfied. But could be fixed by showing the user
                 // a dialog.
                 Log.d("onResult", "RESOLUTION_REQUIRED");
                 try …
Run Code Online (Sandbox Code Playgroud)

android dialog

51
推荐指数
4
解决办法
4万
查看次数

如何在android中以编程方式启用位置访问?

我正在研究与地图相关的android应用程序,我需要在客户端开发中检查位置访问是否启用,如果未启用位置服务则显示对话框提示.

如何在android中以编程方式启用"位置访问"?

gps android location-services

32
推荐指数
3
解决办法
7万
查看次数

使用我的应用程序中的Android默认GPS开 - 关对话框

在我们的应用程序中,我们想要集成Android默认GPS对话框.GPS关闭时出现的同一个对话框,我们在谷歌地图应用程序中按下我的位置按钮.还附上了我要整合的对话框的图像.

  1. 单击"否"选项将关闭对话框.
  2. 单击"是"选项将直接激活设备的GPS.

对话框出现在OLA app下面(ANDROID L):
在此输入图像描述

为OLA应用程序显示对话框(ANDROID KIT_KAT):
在此输入图像描述

对话框出现在谷歌地图下面(ANDROID L):
在此输入图像描述

我们现有的实施方案是当GPS关闭时,我们将应用程序重定向到设备的默认位置设置屏幕,他/她可以从该位置打开位置.

期待着答案.提前致谢.

gps android action android-alertdialog

19
推荐指数
1
解决办法
1万
查看次数

Google Play服务LocationServices.API - 新选项"never"

已解决 - 最后回答

我正在使用新方法从Google Play Services 7.0中检索位置:

http://android-developers.blogspot.com/2015/03/google-play-services-70-places-everyone.html https://developer.android.com/reference/com/google/android/gms/location /SettingsApi.html

一开始,它只给我们两个选项,"取消"和"开启"(下图).

在此输入图像描述

但是今天我看到了新的Google Play服务更新"功能" - 当我的位置关闭并尝试通过Google Play服务获取时,弹出的对话框为我提供了选项:

在此输入图像描述

是的,永远不会.当我点击它时,我的应用程序将永远不会通过Google Play服务获取位置,即使它已启用,我没有其他选择,只能重新安装应用程序或清除所有数据,Google没有其他选项可以更改选择的选项.

我该如何处理这种情况?如果没有删除应用程序中的所有数据,有没有办法在选择"never"选项后进行更改?

编辑:

我在这里找到了解决方案:如何显示Google地图等启用位置对话框?

我们需要添加到我们的构建器方法setAlwaysShow(boolean show)

https://developer.android.com/reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html#setAlwaysShow(boolean)

LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
.addLocationRequest(mLocationRequestBalancedPowerAccuracy);

builder.setAlwaysShow(true);
Run Code Online (Sandbox Code Playgroud)

之后我们只有两个选项 - "是"和"否".

android google-play-services

13
推荐指数
1
解决办法
2072
查看次数

如何在启动应用程序时要求用户启用GPS?

private void turnGPSOn(){
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);

if(!provider.contains("gps")){ //if gps is disabled
    final Intent poke = new Intent();
    poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider"); 
    poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
    poke.setData(Uri.parse("3")); 
    sendBroadcast(poke);
}
}
Run Code Online (Sandbox Code Playgroud)

看到Logcat

04/20 17:35:26: Launching app
$ adb push F:\AndroidProject\Picker\app\build\outputs\apk\app-debug.apk /data/local/tmp/picker.novasyslabs.com.picker
$ adb shell pm install -r "/data/local/tmp/picker.novasyslabs.com.picker"
    pkg: /data/local/tmp/picker.novasyslabs.com.picker
Success


$ adb shell am start -n "picker.novasyslabs.com.picker/picker.novasyslabs.com.picker.SlashScreen" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Connected to process 22502 on device sony-d2302-ZH80065A89
W/ResourceType: Found multiple library tables, ignoring...
W/ResourceType: Found multiple library tables, ignoring...
W/ResourceType: Found multiple library …
Run Code Online (Sandbox Code Playgroud)

android android-location android-gps

7
推荐指数
4
解决办法
1万
查看次数

如何在android中显示位置设置对话框?

从谷歌i/o 2015我了解到谷歌播放服务中有一个新的对话框,用户不需要退出当前的应用程序来打开位置.下面的图片显示了它的样子:

在此输入图像描述

现在我的问题是,我如何在我的项目中实现这一点?我搜索过但没有找到任何有效的答案,请帮忙!

gps android location google-play-services android-studio

6
推荐指数
1
解决办法
8541
查看次数

如何在Android中自定义“启用位置”对话框?

对于位置感知应用程序,我正在开发,我需要以编程方式启动GPS,但经过大量的研究,我发现,这不再是Android的新版本允许(是的,有喜欢的一些解决方案,这样,但他们利用android中的一些错误-不是一个可靠的解决方案)。因此,我使用了“启用位置”对话框(这比将用户重定向到“设置”页面来启用GPS更好)。

如您在此链接中看到的,我想使用自定义布局自定义此对话框的外观,以使其看起来像我的应用程序的其余部分。

gps android google-play-services

5
推荐指数
0
解决办法
544
查看次数