小编tyc*_*czj的帖子

LocationManager的getBestProvider返回null

我有一群人报告了一个我无法重现的错误.当试图打开MapView它报告getBestProvider返回null并且我知道这意味着没有找到符合我的标准的提供者,ACCURACY_COARSE如果没有GPS那么它应该回落到任何一个,network or passive但它显然不在那些用户设备.那甚至意味着GPS关闭并且没有网络连接?

我尝试关闭GPS并将手机置于飞行模式以尝试重现问题,但我仍然能够在没有强制关闭的情况下打开mapview,所以我不知道如何处理这个问题.

locationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);
geocoder = new Geocoder(this);

Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
List<String> lProviders = locationManager.getProviders(false);
for(int i=0; i<lProviders.size(); i++){
    Log.d("LocationActivity", lProviders.get(i));
}
String provider = locationManager.getBestProvider(criteria, true); // null

long minTime = 60000;
float minDistance = 5;

locationManager.requestLocationUpdates(provider, minTime, minDistance, this);
Run Code Online (Sandbox Code Playgroud)

错误

java.lang.RuntimeException: Unable to start activity ComponentInfo{ecm2.android/ecm2.android.LocationActivity}: 
java.lang.IllegalArgumentException: provider==null
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at …
Run Code Online (Sandbox Code Playgroud)

android android-location

23
推荐指数
2
解决办法
3万
查看次数

从Google地图的可见部分检索距离

我想在地图上画一个静态圆圈Google Maps.当用户捏住时,地图将放大/缩小.

我需要知道地图半径(与圆圈中包含的区域相关)并相应地更改底部的搜索条.

有人知道如何检索从左边到右边屏幕边缘的距离吗?我没有在Google Maps API文档中找到任何内容.

像这样的东西:

在此输入图像描述

android google-maps distance google-maps-android-api-2

22
推荐指数
2
解决办法
8396
查看次数

使用自适应图标时不显示旧版图标

我刚刚使用Image Asset Studioandroid工作室将我的应用程序图标转换为与android o的自适应图标兼容

当我在运行API 25的设备上运行我的项目时,我得到默认的绿色android图标而不是我的图标.

这是我的表现

<application
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:allowBackup="false"
    android:roundIcon="@mipmap/ic_launcher_round"
    tools:replace="allowBackup"
    tools:ignore="GoogleAppIndexingWarning">
Run Code Online (Sandbox Code Playgroud)

这些是图像资产工作室创建的文件

在此输入图像描述

这只是一个Android Studio错误还是我错过了什么?

android android-icons android-studio

22
推荐指数
2
解决办法
6612
查看次数

在Moto 360上进行调试

我试图让通过蓝牙调试我的摩托360工作,我下面的这些指示,但是当我把adb forward tcp:4444 localabstract:/adb-hub; adb connect localhost:4444所有的事通过其可用的命令列表是亚洲开发银行再次运行.

在佩戴配套应用程序Debugging over Bluetooth中,Host表示Disconnected和Target表示已连接.

在手表本身上启用ADB调试并启用蓝牙调试

我也参考了这篇文章,它有更多的信息,但仍然没有

adb看到我的手机从来没有看过手表

我错过了什么?

debugging android adb wear-os

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

在第3版中处理应用内结算退款

我正在尝试在我的应用程序中实现应用程序内计费,我的购买部分正常,但我如何处理退款?

在该Testing In-App Billing部分下,它表示您必须注意,IN_APP_NOTIFY但当您点击它时,它会带您到v2api,您必须注册广播接收器.在v3但是它给做什么没有信息,或者甚至IN_APP_NOTIFY仍在使用相同的或支持.

示例应用程序也不处理退款,所以我想如何处理退款v3?

android in-app-billing

18
推荐指数
1
解决办法
7483
查看次数

更改工具栏中的微调器样式

我试图把一个微调器放在我Toolbar的旧ActionBar风格导航中,我的主题就是这个

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/color_primary</item>
    <item name="colorPrimaryDark">@color/color_primary_dark</item>
    <item name="colorAccent">@color/color_primary</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但我的微调器是黑色的,而所有其他图标和溢出菜单都是白色的,所以它看起来很糟糕

在此输入图像描述

我尝试使用它来改变微调器的样式

<style name="ToolbarSpinnerTheme" parent="Theme.AppCompat">
    <item name="android:spinnerItemStyle">@style/TextAppearanceSpinnerItem</item>
</style>

<style name="TextAppearanceSpinnerItem">
    <item name="android:textColor">#FFFFFF</item>
</style>
Run Code Online (Sandbox Code Playgroud)

这就是我的工具栏的样式

<android.support.v7.widget.Toolbar
           android:id="@+id/toolbar"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:minHeight="?attr/actionBarSize"
           android:background="?attr/colorPrimary"
           app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
           app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

           <Spinner
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:id="@+id/modes"
               android:minWidth="150dp"
               android:gravity="bottom"
               style="@style/ToolbarSpinnerTheme"/>

       </android.support.v7.widget.Toolbar>


final Spinner mode = (Spinner)findViewById(R.id.modes);

    SpinnerAdapter mSpinner = ArrayAdapter.createFromResource(this, R.array.action_bar_spinner, android.R.layout.simple_spinner_dropdown_item);
    mode.setAdapter(mSpinner);
Run Code Online (Sandbox Code Playgroud)

但它总是保持黑色.如何在保持与主题相同的下拉样式主题的同时将微调器箭头和文本更改为白色Light?

更新4.4箭头修复:

我让箭头变成白色的唯一方法是以编程方式添加微调器,而不是在xml中添加,因此它看起来像这样

final ArrayAdapter spinnerAdapter = ArrayAdapter.createFromResource(getSupportActionBar().getThemedContext(),
        R.array.main_navigation_list, R.layout.spinner_text);
spinnerAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
mNavigationTags = getResources().getStringArray(R.array.main_navigation_list);


mNavigationSpinner = new Spinner(getSupportActionBar().getThemedContext());
mNavigationSpinner.setAdapter(spinnerAdapter);

mNavigationSpinner.setOnItemSelectedListener(this);
mToolbar.addView(mNavigationSpinner)
Run Code Online (Sandbox Code Playgroud)

android android-spinner

18
推荐指数
3
解决办法
2万
查看次数

在Google Maps v2中按ID获取地图标记

基本上在向地图添加标记时,它会返回新标记,您可以像这样从中获取标记ID

Marker m = map.addMarker(new MarkerOptions()
                            .position(new LatLng(lat,lon)));
String id = m.getId();
Run Code Online (Sandbox Code Playgroud)

如果有很多标记并且你只想删除一个标记,有没有办法通过它的id获取标记?

android google-maps google-maps-android-api-2

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

日食中的Logcat保持自动清除

直到最近我的logcat一直很好,但是每当我试图在eclipse中查看它时,只要显示任何内容使其无法读取,它就会不断清理.在adb中查看它,但我从不打扰它,因为阅读和找到你正在寻找的任何东西真是太痛苦了.

有没有办法解决这个问题?

eclipse android logcat

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

尝试在运行4.2的设备上访问Picasa图像时出现安全例外情况

在我的应用程序中,我让用户从图库中选择一个图像并且没有问题这样做4.2之前但现在当我选择从我的谷歌+帐户同步的图像,我猜是一个Picasa图像我得到此错误

11-25 20:31:52.508: E/AndroidRuntime(17387): java.lang.RuntimeException: An error occured while executing doInBackground()
11-25 20:31:52.508: E/AndroidRuntime(17387):    at android.os.AsyncTask$3.done(AsyncTask.java:299)
11-25 20:31:52.508: E/AndroidRuntime(17387):    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
11-25 20:31:52.508: E/AndroidRuntime(17387):    at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
11-25 20:31:52.508: E/AndroidRuntime(17387):    at java.util.concurrent.FutureTask.run(FutureTask.java:239)
11-25 20:31:52.508: E/AndroidRuntime(17387):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
11-25 20:31:52.508: E/AndroidRuntime(17387):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
11-25 20:31:52.508: E/AndroidRuntime(17387):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
11-25 20:31:52.508: E/AndroidRuntime(17387):    at java.lang.Thread.run(Thread.java:856)
11-25 20:31:52.508: E/AndroidRuntime(17387): Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.gallery3d.provider.GalleryProvider from ProcessRecord{42817d60 17387:com.tyczj.bowling/u0a10087} (pid=17387, uid=10087) requires com.google.android.gallery3d.permission.GALLERY_PROVIDER or com.google.android.gallery3d.permission.GALLERY_PROVIDER
11-25 20:31:52.508: E/AndroidRuntime(17387):    at android.os.Parcel.readException(Parcel.java:1425)
11-25 20:31:52.508: E/AndroidRuntime(17387):    at …
Run Code Online (Sandbox Code Playgroud)

android android-permissions

16
推荐指数
1
解决办法
3439
查看次数

使用RecyclerView进行视差标题效果

我想更改我目前已经使用的ListView,RecyclerView所以我可以使用StaggeredGridLayoutManager但是RecyclerView没有能力添加像ListView这样的标题.

通常使用ListView我在标题中设置一个空视图,并将图像放在listview下面,并通过滚动列表来转换底部图像以创建Parallax效果.

因此,如果没有标题,我怎样才能创建相同的视差效果RecyclerView?

android android-recyclerview

15
推荐指数
2
解决办法
2万
查看次数