我有一群人报告了一个我无法重现的错误.当试图打开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) 我想在地图上画一个静态圆圈Google Maps.当用户捏住时,地图将放大/缩小.
我需要知道地图半径(与圆圈中包含的区域相关)并相应地更改底部的搜索条.
有人知道如何检索从左边到右边屏幕边缘的距离吗?我没有在Google Maps API文档中找到任何内容.
像这样的东西:

我刚刚使用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错误还是我错过了什么?
我正在尝试在我的应用程序中实现应用程序内计费,我的购买部分正常,但我如何处理退款?
在该Testing In-App Billing部分下,它表示您必须注意,IN_APP_NOTIFY但当您点击它时,它会带您到v2api,您必须注册广播接收器.在v3但是它给做什么没有信息,或者甚至IN_APP_NOTIFY仍在使用相同的或支持.
示例应用程序也不处理退款,所以我想如何处理退款v3?
我试图把一个微调器放在我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) 基本上在向地图添加标记时,它会返回新标记,您可以像这样从中获取标记ID
Marker m = map.addMarker(new MarkerOptions()
.position(new LatLng(lat,lon)));
String id = m.getId();
Run Code Online (Sandbox Code Playgroud)
如果有很多标记并且你只想删除一个标记,有没有办法通过它的id获取标记?
直到最近我的logcat一直很好,但是每当我试图在eclipse中查看它时,只要显示任何内容使其无法读取,它就会不断清理.在adb中查看它,但我从不打扰它,因为阅读和找到你正在寻找的任何东西真是太痛苦了.
有没有办法解决这个问题?
在我的应用程序中,我让用户从图库中选择一个图像并且没有问题这样做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) 我想更改我目前已经使用的ListView,RecyclerView所以我可以使用StaggeredGridLayoutManager但是RecyclerView没有能力添加像ListView这样的标题.
通常使用ListView我在标题中设置一个空视图,并将图像放在listview下面,并通过滚动列表来转换底部图像以创建Parallax效果.
因此,如果没有标题,我怎样才能创建相同的视差效果RecyclerView?