当我尝试将我的应用程序提交到 Play 商店时,出现以下错误:
您在 Play 管理中心上的声明表明您的应用使用广告 ID。您的清单文件不包含 com.google.android.gms.permission.AD_ID 权限。
我已经AD_ID
在我的AndroidManifest.xml
文件中声明了权限,如下所示:
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
Run Code Online (Sandbox Code Playgroud)
我的应用程序targetSdk
版本是33
,我包含的 AdMob 广告库版本是21.3.0
,如下:
implementation 'com.google.android.gms:play-services-ads:21.3.0'
Run Code Online (Sandbox Code Playgroud)
我已按照AdMob 入门指南中的每一步操作,但不起作用。
我有一个gps应用程序在我的手机上正常工作.但是,我看到有人在制作中有空指针异常.
SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
// Getting GoogleMap object from the fragment
googleMap = fm.getMap();
// Enabling MyLocation Layer of Google Map
googleMap.setMyLocationEnabled(true);
googleMap.setPadding(0, 0, 0, 90);
Run Code Online (Sandbox Code Playgroud)
我从生产中得到的错误是由:
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.GoogleMap.setMyLocationEnabled(boolean)' on a null object reference
Run Code Online (Sandbox Code Playgroud)
所以我做了一些研究,发现getMap方法已被删除,人们推荐使用 getMapAsync(this);
@Override
public void onMapReady(GoogleMap googleMap) {
this.googleMap = googleMap; //which doesn't seem to work
}
Run Code Online (Sandbox Code Playgroud)
但是,我googleMap
在许多不同的方法中引用变量,我无法将所有代码移动到onMapReady
方法.我尝试this.googleMap = googleMap
在onMapReady
方法内部使用,但每当我尝试引用googleMap
变量时,我仍然会得到空指针异常.我在onCreated()中定义了getMapAsync(this),然后尝试访问onResume()中的'googleMap'对象并获取空指针异常.有没有办法来解决这个问题?谢谢.
我想转换纬度40.7127837,经度-74.0059413,并采用以下格式
N 40°42'46.0218"W 74°0'21.3876"
最好的方法是什么?
我尝试过像location.FORMAT_DEGREES,location.FORMAT_MINUTES和location.FORMAT_SECONDS这样的方法,但我不知道如何将它们转换为正确的格式.谢谢.
strLongitude = location.convert(location.getLongitude(), location.FORMAT_DEGREES);
strLatitude = location.convert(location.getLatitude(), location.FORMAT_DEGREES);
Run Code Online (Sandbox Code Playgroud) 我在这行代码上的均衡器上遇到UnsupportedOperationException错误.bassBoost.setStrength((short) bassBoostPos);
这是代码
equalizer = new Equalizer(0, 0);
if (equalizer != null) {
equalizer.setEnabled (isEqualizer);
numBands = equalizer.getNumberOfBands();
short r[] = equalizer.getBandLevelRange();
minLevel = r[0];
maxLevel = r[1];
bassBoost = new BassBoost (0, 0);
if(bassBoost != null) {
bassBoost.setEnabled(bassBoostPos > 0 ? true : false);
bassBoost.setStrength((short) bassBoostPos);
}
Run Code Online (Sandbox Code Playgroud)
这是例外
java.lang.UnsupportedOperationException: AudioEffect: invalid parameter
operation
at android.media.audiofx.AudioEffect.checkStatus(AudioEffect.java:1271)
at android.media.audiofx.BassBoost.setStrength(BassBoost.java:127)
Run Code Online (Sandbox Code Playgroud)
如何解决此问题,以便应用程序不会崩溃.我的意思是我如何检查设备是否支持此操作,如果它不支持,我会跳过这一行.谢谢.
如何删除Swift 4中字符串的最后一个字符?我曾经substring
在早期版本的Swift中使用,但该substring
方法已被弃用.
这是我的代码.
temp = temp.substring(to: temp.index(before: temp.endIndex))
Run Code Online (Sandbox Code Playgroud) 我正在尝试对我的应用程序实施材料设计,并且正在学习教程。我的问题是打开导航抽屉时,单击手机上的“后退”按钮,它将关闭我的应用程序,而不是关闭抽屉。如何关闭抽屉而不退出应用程序?谢谢。
这是代码
public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener {
private static String TAG = MainActivity.class.getSimpleName();
private Toolbar mToolbar;
private FragmentDrawer drawerFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
drawerFragment = (FragmentDrawer)
getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar);
drawerFragment.setDrawerListener(this);
// display the first navigation drawer view on app launch
displayView(0);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu); …
Run Code Online (Sandbox Code Playgroud) 我有可绘制的 xml up.xml,如下面的代码所示
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<rotate
android:fromDegrees="45"
android:toDegrees="45"
android:pivotX="-40%"
android:pivotY="87%" >
<shape
android:shape="rectangle" >
<solid
android:color="@color/green" />
</shape>
</rotate>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
我将这个 drawable 附加到一个按钮上,如下所示
<Button android:id="@+id/bill_amount_up"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="@drawable/up"
/>
Run Code Online (Sandbox Code Playgroud)
我正在尝试在我的代码中动态更改 up.xml 文件中纯色 android:color="@color/green" 的颜色。我尝试了以下方法,但没有奏效。
((GradientDrawable)billAmountUp.getBackground()).setColor(color);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误 java.lang.ClassCastException: android.graphics.drawable.LayerDrawable cannot be cast to android.graphics.drawable.GradientDrawable
任何人都可以帮忙吗?谢谢你。
android drawable android-layout android-drawable android-color
我正在使用 Mapbox 制作地图,并且访问令牌是公开的,访问该网站的人们可以轻松复制。有没有办法隐藏此访问令牌或限制仅访问我的网站?似乎其他人正在使用我的访问代码来执行 Python 地理编码请求。
\n\n<!DOCTYPE html>\n<html>\n<head>\n <title>Quick Start - Leaflet</title>\n <meta charset="utf-8" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0"> \n <link rel="shortcut icon" type="image/x-icon" href="docs/images/favicon.ico" />\n <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ==" crossorigin=""/>\n <script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js" integrity="sha512-/Nsx9X4HebavoBvEBuyp3I7od5tA0UzAxs+j83KgC8PU0kgB4XiK4Lfe4y4cgBtaRJQEIFCW+oC506aPT2L1zw==" crossorigin=""></script>\n</head>\n<body>\n<div id="mapid" style="width: 600px; height: 400px;"></div>\n<script>\n\n var mymap = L.map(\'mapid\').setView([51.505, -0.09], 13);\n\n L.tileLayer(\'https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw\', {\n maxZoom: 18,\n attribution: \'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, \' +\n \'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, \' +\n \'Imagery \xc2\xa9 <a href="https://www.mapbox.com/">Mapbox</a>\',\n id: \'mapbox.streets\'\n }).addTo(mymap);\n\n L.marker([40.7127837, -74.0059413]).addTo(mymap)\n .bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();\n\n var popup …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个TextView
从左到右移动并无限循环的动画.这是TextView
我想要动画的:
<TextView
android:id="@+id/txtTitle"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textStyle="italic"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:ellipsize="end"
android:maxLines="1"
android:layout_centerHorizontal="true"
android:layout_below="@id/cardView" />
Run Code Online (Sandbox Code Playgroud)
这就是我试图动画的方式TextView
:
Animation animation = new TranslateAnimation(0, -280, 0, 0);
animation.setDuration(9000);
animation.setRepeatMode(Animation.RELATIVE_TO_SELF);
animation.setRepeatCount(Animation.INFINITE);
textView.setAnimation(animation);
Run Code Online (Sandbox Code Playgroud)
我想要实现的是文本从屏幕中心开始,向右移动,一旦第一个字母离开屏幕,它应该重新出现在另一边.
我正在尝试将 Google User Messaging Platform SDK 添加到我的应用程序中,以便它可以向 EEA 和英国用户投放广告。
我正在遵循本指南中的每一步。 https://developers.google.com/admob/android/privacy
但是,我在这行代码上收到错误“找不到符号变量 canRequestAds”consentInformation.canRequestAds
import com.google.android.gms.ads.MobileAds;
import com.google.android.material.tabs.TabLayout;
import com.google.android.ump.ConsentForm;
import com.google.android.ump.ConsentInformation;
import com.google.android.ump.ConsentRequestParameters;
import com.google.android.ump.UserMessagingPlatform;
import java.util.concurrent.atomic.AtomicBoolean;
public class MainActivity extends AppCompatActivity {
private ConsentInformation consentInformation;
// Use an atomic boolean to initialize the Google Mobile Ads SDK and load ads once.
private final AtomicBoolean isMobileAdsInitializeCalled = new AtomicBoolean(false);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Set tag for under age of consent. false means users are not …
Run Code Online (Sandbox Code Playgroud) 如何将服务从一个活动传递到另一个活动?我有一个显示歌曲列表的音乐播放器(Activity1),当您点击它时,它会在Activity1中启动该服务.我有一个按钮,用户可以单击该按钮打开Activity2.
那么我将服务从Activity1传递给Activity2的最佳方式是什么.如果服务在Activity1中启动,则Activity2应继续播放.如果未在Activity1中启动该服务,则Activity2应在使用之前启动该服务.
谢谢.
这是一些示例代码,MusicService是一个扩展服务类的类.
public class Activity1 extends AppCompatActivity {
private MusicService serviceMusic;
private ServiceConnection musicConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
MusicService.PlayerBinder binder = (MusicService.PlayerBinder) service;
//get service
serviceMusic = binder.getService();
serviceMusic.setSongList(songList);
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
};
Run Code Online (Sandbox Code Playgroud)
}
android android-service android-activity android-service-binding
我正在为地图使用HERE Maps API。每当单击地图时,我都可以添加标记和信息气泡。但是,我只希望地图上有最新的标记和信息气泡,并删除了所有其他标记和信息。下面是我的代码,其中包含我多次单击地图后的所有标记和信息气泡。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, width=device-width" />
<link rel="stylesheet" type="text/css" href="https://js.api.here.com/v3/3.0/mapsjs-ui.css?dp-version=1533195059" />
<script type="text/javascript" src="https://js.api.here.com/v3/3.0/mapsjs-core.js"></script>
<script type="text/javascript" src="https://js.api.here.com/v3/3.0/mapsjs-service.js"></script>
<script type="text/javascript" src="https://js.api.here.com/v3/3.0/mapsjs-ui.js"></script>
<script type="text/javascript" src="https://js.api.here.com/v3/3.0/mapsjs-mapevents.js"></script>
</head>
<body>
<div id="map" style="height:550px;width:720px;"></div>
<script>
//Step 1: initialize communication with the platform
var platform = new H.service.Platform({
app_id: 'devportal-demo-20180625',
app_code: '9v2BkviRwi9Ot26kp2IysQ',
useHTTPS: true
});
var pixelRatio = window.devicePixelRatio || 1;
var defaultLayers = platform.createDefaultLayers({
tileSize: pixelRatio === 1 ? 256 : 512,
ppi: pixelRatio === 1 ? undefined : 320 …
Run Code Online (Sandbox Code Playgroud) android ×8
java ×5
google-maps ×2
admob ×1
android-gps ×1
audioeffect ×1
drawable ×1
equalizer ×1
here-api ×1
javascript ×1
mapbox ×1
maps ×1
string ×1
substring ×1
swift ×1
swift4 ×1