即使在清单中添加并通过 android 中的 java 也未授予权限
No permission granted even after adding in manifest and via java in android
我试图在 android 中测试简单的 Admob
所以我使用了下面的代码,当我 运行 应用程序没有出现广告所以当我检查应用程序权限时它显示 未请求权限
我已经添加了
<uses-permission android:name="android.permission.INTERNET"/>
android清单
- 也用过Tedpermission,还有特德秀
Permission Granted
on toast。
我的问题是为什么我在我的应用程序中看不到任何广告?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sanoj.admobtest" >
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
授予权限
public class MainActivity extends AppCompatActivity {
Button btShow;
AdView adView1,adView2;
InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PermissionListener permissionlistener = new PermissionListener() {
@Override
public void onPermissionGranted() {
Toast.makeText(MainActivity.this, "Permission Granted", Toast.LENGTH_SHORT).show();
}
@Override
public void onPermissionDenied(List<String> deniedPermissions) {
Toast.makeText(MainActivity.this, "Permission Denied\n" + deniedPermissions.toString(), Toast.LENGTH_SHORT).show();
}
};
TedPermission.with(this)
.setPermissionListener(permissionlistener)
.setDeniedMessage("If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]")
.setPermissions(Manifest.permission.INTERNET, Manifest.permission.ACCESS_NETWORK_STATE)
.check();
btShow = findViewById(R.id.bt_show);
adView1 = findViewById(R.id.ad_view1);
adView2 = findViewById(R.id.ad_view2);
MobileAds.initialize(this,"ca-app-pub-2471429062443535~8344634230");
AdRequest adRequest = new AdRequest.Builder().build();
adView1.loadAd(adRequest);
adView2.loadAd(adRequest);
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId("ca-app-pub-2471429062443535/3691073350");
interstitialAd.loadAd(new AdRequest.Builder().build());
btShow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
interstitialAd.show();
}
});
}
}
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt_show"
android:text="Show Ad"
android:textAllCaps="false"
android:layout_centerInParent="true"
/>
<com.google.android.gms.ads.AdView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ad_view1"
android:layout_centerHorizontal="true"
xmlns:ads="http://schemas.android.com/apk/res-auto"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-2471429062443535/8153062545"
>
</com.google.android.gms.ads.AdView>
<com.google.android.gms.ads.AdView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ad_view2"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
xmlns:ads="http://schemas.android.com/apk/res-auto"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-2471429062443535/8144844752"
>
</com.google.android.gms.ads.AdView>
</RelativeLayout>
Internet 权限不会列在权限部分。这是将被授予的正常权限,因为它列在 清单文件.
中
权限部分仅包含危险权限(即位置、存储等...)。但是,Internet 权限 不是危险权限它是 正常权限.
检查 this link 以了解有关危险权限的更多信息。
您的问题可能与您的 apiKey 或 unitId 有关。
我试图在 android 中测试简单的 Admob
所以我使用了下面的代码,当我 运行 应用程序没有出现广告所以当我检查应用程序权限时它显示 未请求权限
我已经添加了
<uses-permission android:name="android.permission.INTERNET"/>
android清单- 也用过Tedpermission,还有特德秀
Permission Granted
on toast。
我的问题是为什么我在我的应用程序中看不到任何广告?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sanoj.admobtest" >
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
授予权限
public class MainActivity extends AppCompatActivity {
Button btShow;
AdView adView1,adView2;
InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PermissionListener permissionlistener = new PermissionListener() {
@Override
public void onPermissionGranted() {
Toast.makeText(MainActivity.this, "Permission Granted", Toast.LENGTH_SHORT).show();
}
@Override
public void onPermissionDenied(List<String> deniedPermissions) {
Toast.makeText(MainActivity.this, "Permission Denied\n" + deniedPermissions.toString(), Toast.LENGTH_SHORT).show();
}
};
TedPermission.with(this)
.setPermissionListener(permissionlistener)
.setDeniedMessage("If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]")
.setPermissions(Manifest.permission.INTERNET, Manifest.permission.ACCESS_NETWORK_STATE)
.check();
btShow = findViewById(R.id.bt_show);
adView1 = findViewById(R.id.ad_view1);
adView2 = findViewById(R.id.ad_view2);
MobileAds.initialize(this,"ca-app-pub-2471429062443535~8344634230");
AdRequest adRequest = new AdRequest.Builder().build();
adView1.loadAd(adRequest);
adView2.loadAd(adRequest);
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId("ca-app-pub-2471429062443535/3691073350");
interstitialAd.loadAd(new AdRequest.Builder().build());
btShow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
interstitialAd.show();
}
});
}
}
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt_show"
android:text="Show Ad"
android:textAllCaps="false"
android:layout_centerInParent="true"
/>
<com.google.android.gms.ads.AdView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ad_view1"
android:layout_centerHorizontal="true"
xmlns:ads="http://schemas.android.com/apk/res-auto"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-2471429062443535/8153062545"
>
</com.google.android.gms.ads.AdView>
<com.google.android.gms.ads.AdView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ad_view2"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
xmlns:ads="http://schemas.android.com/apk/res-auto"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-2471429062443535/8144844752"
>
</com.google.android.gms.ads.AdView>
</RelativeLayout>
Internet 权限不会列在权限部分。这是将被授予的正常权限,因为它列在 清单文件.
中权限部分仅包含危险权限(即位置、存储等...)。但是,Internet 权限 不是危险权限它是 正常权限.
检查 this link 以了解有关危险权限的更多信息。
您的问题可能与您的 apiKey 或 unitId 有关。