バナー広告をクリックするとうまくいきますが、アプリに戻ってくると強制的にクラッシュして閉じることになります。それはサウンドボードアプリです。バナー広告から戻ってきてアプリがクラッシュする
私はアプリケーションに追加する必要がありますので、アクティビティを終了したりアプリケーションに戻ったりしたときにクラッシュすることはありません。
ちょうど初心者なので、どんな助けもありがとうございます。
Activity1
public class Activity1 extends Activity {
int selectedSoundId;
MediaPlayer player;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity1);
AdView mAdView = (AdView) findViewById(R.id.adMob);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
player = new MediaPlayer();
final Resources res = getResources();
final int[] buttonIds = { };
final int[] soundIds = { };
View.OnClickListener listener = new View.OnClickListener() {
public void onClick(View v) {
for (int i = 0; i < buttonIds.length; i++) {
if (v.getId() == buttonIds[i]) {
selectedSoundId = soundIds[i];
AssetFileDescriptor afd = res
.openRawResourceFd(soundIds[i]);
player.reset();
try {
player.setDataSource(afd.getFileDescriptor(),
afd.getStartOffset(), afd.getLength());
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
player.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
player.start();
break;
}
}
}
};
for (int i = 0; i < buttonIds.length; i++) {
Button soundButton = (Button) findViewById(buttonIds[i]);
registerForContextMenu(soundButton);
soundButton.setOnClickListener(listener);
}
}
protected void onPause() {
super.onPause();
player.stop();
player.release();
player.pause();
}
}
Activity1.xml
<RelativeLayout>
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adMob"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111"/>
</RelativeLayout>
クラッシュログ:
致命的な例外:メイン プロセス:com.example.keshav.giantsoundboard、PID:5366 java.lang.RuntimeException:アクティビティを一時停止できません {com.example.keshav.giantsoundboard/com.example.keshav.giantsoundboard.Activity3} android.app.ActivityThread.performPauseActivity(ActivityThread.java:3381)で java.lang.IllegalStateException android.appで android.appで.ActivityThread.performPauseActivity android.app.ActivityThread.-wrap13で(ActivityThread.java:3340) でandroid.app.ActivityThread.handlePauseActivity(ActivityThread.java:3315) (ActivityThread.java) 。 ActivityThread $ H.handleMessage(ActivityThread.java:1362)androiの d.os.Handler.dispatchMessage(Handler.java:102)android.os.Looper.loop(Looper.java:148)で android.app.ActivityThread.main(ActivityThread.java:5417)で のjavaで 。 lang.reflect.Method.invoke(ネイティブメソッド) ( )com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit。 java:616) 原因:java.lang.IllegalStateException android.media.MediaPlayer._stop(ネイティブメソッド)の android.media.MediaPlayer.stop(MediaPlayer.java:1231)の com.example.keshav.giantsoundboard.Activity3.onPause(Activity3.java:95) android.app.Instrumentation.callActivityOnPauseでandroid.app.Activity.performPause(Activity.java:6348) で(Instrumentation.javaで:1311) でandroid.app.ActivityThread.performPauseActivity(ActivityThread.java:3367) でandroid.app.ActivityThread.performPauseActivity(ActivityThread.java:3340) android.app.ActivityThread.handlePauseActivity(ActivityThreadました。 java:3315) android.app.ActivityThread.-wrap13(ActivityThread.java ) at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1362) at android.os.Handler.dispatchMessage(Handler。java:102) (android.os.Looper.loop(Looper.java:148)) (android.app.ActivityThread.main(ActivityThread.java:5417)) at java.lang.reflect.Method.invoke(ネイティブメソッド) com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616で )で
このシナリオで例外メッセージを検査しましたか?私たちが助けることができるように、何らかの種類の衝突診断が必要です。 –
広告をクリックするとアクティビティが一時停止し、アクティビティに戻るときにアクティビティを再開する必要があるため、一時停止エラーが発生しました。しかし、私はその方法を知らない – user7511549
あなたのクラッシュログを提供します。 –