以上就是给各位分享iOSPhoneGap无限对话框运行应用程序时出现错误?,同时本文还将给你拓展(android)启动我的应用程序时出现错误java.lang.IllegalStateExceptio
以上就是给各位分享iOS PhoneGap无限对话框运行应用程序时出现错误?,同时本文还将给你拓展(android)启动我的应用程序时出现错误java.lang.IllegalStateException、Android Studio Java(生成的)文件在运行应用程序时出现错误、android – iOS 6 iPhone 5应用程序不是Phonegap Build的全屏?、Android平台上的Phonegap应用程序 – 让应用程序保持运行等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- iOS PhoneGap无限对话框运行应用程序时出现错误?
- (android)启动我的应用程序时出现错误java.lang.IllegalStateException
- Android Studio Java(生成的)文件在运行应用程序时出现错误
- android – iOS 6 iPhone 5应用程序不是Phonegap Build的全屏?
- Android平台上的Phonegap应用程序 – 让应用程序保持运行
iOS PhoneGap无限对话框运行应用程序时出现错误?
当我去运行应用程序,一旦加载和安装,我得到这些对话框:
gap:["Network Status","getConnectionInfo","Network Status0",true] usePolling: gap_callbackServer getPort: gap_callbackServer: getToken: gap_callbackServer:
然后永远留在gap_poll:
当我收到这些对话框时,我可以看到应用程序的主屏幕全部在后台加载.
这个应用程序已经成功构建,部署,目前在Android Market的App Marketplace上,没有像这样开发的问题.
可能是什么原因造成的?
解决方法
(android)启动我的应用程序时出现错误java.lang.IllegalStateException
但是当我启动应用程序时,我有一个错误无法启动活动(ru.vspr.MyMediaPlayerActivity) java.lang.IllegalStateException
我该怎么办呢?
源代码:http://www.mediafire.com/download/y1paremphr57mbz/MyMediaPlayer.zip
日志:
07-24 13:20:01.023 E/AndroidRuntime(22997): FATAL EXCEPTION: main 07-24 13:20:01.023 E/AndroidRuntime(22997): java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.vspr/ru.vspr.MyMediaPlayerActivity}: java.lang.IllegalStateException 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:1956) 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.app.ActivityThread.access$600(ActivityThread.java:123) 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.os.Handler.dispatchMessage(Handler.java:99) 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.os.Looper.loop(Looper.java:137) 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.app.ActivityThread.main(ActivityThread.java:4424) 07-24 13:20:01.023 E/AndroidRuntime(22997): at java.lang.reflect.Method.invokeNative(Native Method) 07-24 13:20:01.023 E/AndroidRuntime(22997): at java.lang.reflect.Method.invoke(Method.java:511) 07-24 13:20:01.023 E/AndroidRuntime(22997): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 07-24 13:20:01.023 E/AndroidRuntime(22997): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 07-24 13:20:01.023 E/AndroidRuntime(22997): at dalvik.system.NativeStart.main(Native Method) 07-24 13:20:01.023 E/AndroidRuntime(22997): Caused by: java.lang.IllegalStateException 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.media.MediaPlayer._reset(Native Method) 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.media.MediaPlayer.reset(MediaPlayer.java:1218) 07-24 13:20:01.023 E/AndroidRuntime(22997): at ru.vspr.MyMediaPlayerActivity.loadMusic(MyMediaPlayerActivity.java:156) 07-24 13:20:01.023 E/AndroidRuntime(22997): at ru.vspr.MyMediaPlayerActivity.loadTrack(MyMediaPlayerActivity.java:147) 07-24 13:20:01.023 E/AndroidRuntime(22997): at ru.vspr.MyMediaPlayerActivity.initialize(MyMediaPlayerActivity.java:100) 07-24 13:20:01.023 E/AndroidRuntime(22997): at ru.vspr.MyMediaPlayerActivity.onCreate(MyMediaPlayerActivity.java:58) 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.app.Activity.performCreate(Activity.java:4492) 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 07-24 13:20:01.023 E/AndroidRuntime(22997): at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:1920) 07-24 13:20:01.023 E/AndroidRuntime(22997): ... 11 more
package ru.vspr; import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Random; import android.app.Activity; import android.content.Context; import android.content.res.AssetFileDescriptor; import android.content.res.AssetManager; import android.graphics.drawable.Drawable; import android.media.audiofx.Visualizer; import android.media.AudioManager; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.os.Bundle; import android.os.Environment; import android.os.PowerManager; import android.os.PowerManager.WakeLock; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; import android.util.Log; public class MyMediaPlayerActivity extends Activity implements OnCompletionListener { WakeLock wakeLock; private static final String[] EXTENSIONS = { ".mp3",".wav",".ogg" }; //Воспроизводимые форматы List<String> trackNames; //Названия воспроизводимых треков List<String> trackArtworks; //Обложки воспроизводимых треков File path; //Директория,откуда будет загружена музыка File path2; //Директория,откуда Р±СѓРґСѓС‚ загружены обложки треков Button btnPlay; //Рта РєРЅРѕРїРєР° будет менять СЃРІРѕС‘ изображение РїСЂРё нажатии Random random; //Рспользовано для случайного воспроизведения boolean shuffle; //Случайное воспроизведение включено? boolean isTuning; int currentTrack; //Рндекс текущего трека MediaPlayer mediaPlayer; //Плеер Visualizer mVisualizer; //Визуализатор для него VisualizerView mVisualizerView; //View для визуализатора @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestwindowFeature(Window.FEATURE_NO_TITLE); setVolumeControlStream(AudioManager.STREAM_MUSIC); // PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); // wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK,"Powered by YOBA Engine"); setContentView(R.layout.main); initialize(); } @Override public void onResume(){ super.onResume(); wakeLock.acquire(); } @Override public void onPause(){ super.onPause(); wakeLock.release(); if(mediaPlayer != null){ if(isPlaying()){ pause(); isTuning = false; btnPlay.setBackgroundResource(R.drawable.play); } if(isFinishing()){ dispose(); finish(); } } else{ if(isFinishing()){ finish(); } } } private void initialize(){ btnPlay = (Button) findViewById(R.id.btnPlay); btnPlay.setBackgroundResource(R.drawable.play); trackNames = new ArrayList<String>(); trackArtworks = new ArrayList<String>(); currentTrack = 0; shuffle = false; isTuning = false; random = new Random(); mediaPlayer = new MediaPlayer(); addTracks(getTracks()); loadTrack(); } //Generate a String Array that represents all of the files found private String[] getTracks(){ if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) || Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED_READ_ONLY)){ path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC); path2 = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); String[] temp = path.list(); return temp; } else{ Toast.makeText(getBaseContext(),"SD Card is either mounted elsewhere or is unusable",Toast.LENGTH_LONG).show(); } return null; } //Adds the playable files to the trackNames List private void addTracks(String[] temp){ if(temp != null){ for(int i = 0; i < temp.length; i++){ //Only accept files that have one of the extensions in the EXTENSIONS array if(trackChecker(temp[i])){ trackNames.add(temp[i]); trackArtworks.add(temp[i].substring(0,temp[i].length()-4)); } } Toast.makeText(getBaseContext(),"Loaded " + Integer.toString(trackNames.size()) + " Tracks",Toast.LENGTH_SHORT).show(); } } //Checks to make sure that the track to be loaded has a correct extenson private boolean trackChecker(String trackToTest){ for(int j = 0; j < EXTENSIONS.length; j++){ if(trackToTest.contains(EXTENSIONS[j])){ return true; } } return false; } //Loads the track by calling loadMusic private void loadTrack(){ if(mediaPlayer != null){ dispose(); } if(trackNames.size() > 0){ loadMusic(); } } //loads a Music instance using either a built in asset or an external resource private void loadMusic(){ try{ FileInputStream fis = new FileInputStream(new File(path,trackNames.get(currentTrack))); FileDescriptor fileDescriptor = fis.getFD(); mediaPlayer.setDataSource(fileDescriptor); mediaPlayer.prepare(); mediaPlayer.setonCompletionListener(this); // setupVisualizerFxAndUI(); } catch(IOException e){ e.printstacktrace(); Toast.makeText(getBaseContext(),"Error Loading " + trackNames.get(currentTrack),Toast.LENGTH_LONG).show(); } // return null; } @Override public boolean onCreateOptionsMenu(Menu menu){ super.onCreateOptionsMenu(menu); createMenu(menu); return true; } @Override public boolean onoptionsItemSelected(MenuItem item){ switch(item.getItemId()){ case 0: //Set Looping synchronized(this){ if(isLooping()){ setLooping(false); Toast.makeText(getBaseContext(),"Playing Tracks Sequentially",Toast.LENGTH_SHORT).show(); } else{ setLooping(true); Toast.makeText(getBaseContext(),"Looping " + trackNames.get(currentTrack),Toast.LENGTH_SHORT).show(); } } return true; case 1: //Set Shuffle synchronized(this){ if(shuffle){ setShuffle(false); } else{ setShuffle(true); } } return true; case 2: //Stop Music synchronized(this){ switchTracks(); btnPlay.setBackgroundResource(R.drawable.play); } return true; default: return false; } } private void createMenu(Menu menu){ MenuItem miLooping = menu.add(0,"Looping");{ miLooping.setIcon(R.drawable.looping); } MenuItem miShuffle = menu.add(0,1,"Shuffle");{ miShuffle.setIcon(R.drawable.shuffle); } MenuItem miStop = menu.add(0,2,"Stop");{ miStop.setIcon(R.drawable.stop); } } public void click(View view){ int id = view.getId(); switch(id){ case R.id.btnPlay: synchronized(this){ if(isTuning){ isTuning = false; btnPlay.setBackgroundResource(R.drawable.play); pause(); } else{ isTuning = true; btnPlay.setBackgroundResource(R.drawable.pause); playTrack(); } } return; case R.id.btnPrevIoUs: setTrack(0); loadTrack(); playTrack(); return; case R.id.btnNext: setTrack(1); loadTrack(); playTrack(); return; default: return; } } private void setTrack(int direction){ if(direction == 0){ currentTrack--; if(currentTrack < 0){ currentTrack = trackNames.size()-1; } } else if(direction == 1){ currentTrack++; if(currentTrack > trackNames.size()-1){ currentTrack = 0; } } if(shuffle){ int temp = random.nextInt(trackNames.size()); while(true){ if(temp != currentTrack){ currentTrack = temp; break; } temp++; if(temp > trackNames.size()-1){ temp = 0; } } } } //Plays the Track private void playTrack(){ if(isTuning && mediaPlayer != null){ play(); Toast.makeText(getBaseContext(),"Playing " + trackNames.get(currentTrack).substring(0,trackNames.get(currentTrack).length()-4),Toast.LENGTH_SHORT).show(); } } //Simply sets shuffle to isShuffle and then displays a message for confirmation private void setShuffle(boolean isShuffle) { shuffle = isShuffle; if(shuffle){ Toast.makeText(getBaseContext(),"Shuffle On",Toast.LENGTH_SHORT).show(); } else{ Toast.makeText(getBaseContext(),"Shuffle Off",Toast.LENGTH_SHORT).show(); } } public void onCompletion(MediaPlayer mediaPlayer) { synchronized(this){ } } public void play() { if(mediaPlayer.isPlaying()){ return; } try{ synchronized(this){ mediaPlayer.start(); } } catch(IllegalStateException ex){ ex.printstacktrace(); } } public void stop() { mediaPlayer.stop(); synchronized(this){ } } public void switchTracks(){ mediaPlayer.seekTo(0); mediaPlayer.pause(); } public void pause() { mediaPlayer.pause(); } public boolean isPlaying() { return mediaPlayer.isPlaying(); } public boolean isLooping() { return mediaPlayer.isLooping(); } public void setLooping(boolean isLooping) { mediaPlayer.setLooping(isLooping); } public void setVolume(float volumeLeft,float volumeRight) { mediaPlayer.setVolume(volumeLeft,volumeRight); } public void dispose() { if(mediaPlayer.isPlaying()){ stop(); } mediaPlayer.release(); } public void setupVisualizerFxAndUI() { mVisualizerView = new VisualizerView(this); mVisualizerView = (VisualizerView) findViewById(R.id.visualizerView); mVisualizer = new Visualizer(mediaPlayer.getAudioSessionId()); mVisualizer.setCaptureSize(Visualizer.getCaptureSizeRange()[1]); mVisualizer.setDataCaptureListener(new Visualizer.OnDataCaptureListener() { public void onWaveFormDataCapture(Visualizer visualizer,byte[] bytes,int samplingRate) { mVisualizerView.updateVisualizer(bytes); } public void onfftDataCapture(Visualizer visualizer,int samplingRate) {} },Visualizer.getMaxCaptureRate() / 1,true,false); } }
附:在收到此错误之前,当我按“播放”按钮时,会有声音,但不是可视化.有没有办法来解决这个问题?
P.P.S对不起我的英文
解决方法
java.lang.IllegalStateException
在VM未处于正确状态时尝试执行操作时抛出.
http://developer.android.com/reference/java/lang/IllegalStateException.html
07-24 12:49:27.054 E/AndroidRuntime(21733): Caused by: java.lang.IllegalStateException 07-24 12:49:27.054 E/AndroidRuntime(21733): at android.media.MediaPlayer.setDataSource(Native Method) 07-24 12:49:27.054 E/AndroidRuntime(21733): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:889)
你应该调用reset()使其恢复到空闲状态.只有这样才能调用setDataSource()
编辑:
您应该将其余代码放在onCompletion中
public void onCompletion(MediaPlayer mediaPlayer) { try { mediaPlayer.reset(); mediaPlayer.setDataSource(path.getAbsolutePath()); mediaPlayer.prepare(); mediaPlayer.setonCompletionListener(this); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); } catch (IllegalArgumentException e) { // Todo Auto-generated catch block e.printstacktrace(); } catch (IllegalStateException e) { // Todo Auto-generated catch block e.printstacktrace(); } catch (IOException e) { // Todo Auto-generated catch block e.printstacktrace(); } }
Android Studio Java(生成的)文件在运行应用程序时出现错误
从Android Studio IDE
文件菜单->使高速缓存无效并重新启动->使高速缓存无效并重新启动。
这应该可以解决您的错误
,您位于java(生成的)文件夹下...
这些Java文件不应该被编辑...
那些是由编译器生成的。...
上面清楚写着它,不可以编辑
正如您所说的text = c("Slechte bediening,van begin tot eind","Het eten was heerlijk en de bediening was fantastisch","Geweldige service en beleefde bediening","Verschrikkelijk. Ik had een vlieg in mijn soep","Het was oké. De bediening kon wat beter,maar het eten was wel lekker. Leuk sfeertje wel!","Ondanks dat het druk was toch op tijd ons eten gekregen. Complimenten aan de kok voor het op smaak brengen van mijn biefstuk")
identifier <- c("3","4","6","7","1","5")
df <- data.frame(identifier,text)
只是引用此this
谢谢
,import qrcoba.w3engineers.com.qrcoba.databinding.R
使用此文件进行导入
,尝试快速破解,关闭android studio,转到您的项目文件夹,删除构建文件,.iml文件,.gradle文件,并使android studio无效并重新启动。
,如果您打算更改软件包名称,请尝试使用此answer。编辑生成的文件的目的是什么
android – iOS 6 iPhone 5应用程序不是Phonegap Build的全屏?
嘿所有我正在运行我的应用程序,它似乎是我的Android设备全屏,但它在iPhone 5的顶部/底部有黑条….我需要为那些工作设置什么设置?
我的应用程序在我的android上的样子是这样的:
它在iPhone 5上的外观如下:
解决方法:
对于您的应用程序,添加iphone 5的默认图像Default-568h@2x.png.这会自动摆脱障碍.
Android平台上的Phonegap应用程序 – 让应用程序保持运行
我有一个Phonegap应用程序,可以作为特定人群的通信服务.使用phonegap-plugins GitHub页面上的本地通知插件,我已经在应用程序中实现了通知,因此每当有人收到新消息时,如果应用程序在后台,则会显示通知.
但是,大约一个小时后,将不再发生通知,并且看起来该进程已被终止.当我回到应用程序时,它完全开始,而不是从我最后离开的地方恢复.我假设在一段时间后,Android停止在后台运行应用程序.
有没有人知道如何让应用程序在后台运行,直到用户告知它停止,并阻止Android杀死进程?
解决方法:
正如CommonsWare建议的那样,你可以写一个虚拟服务来保持你的应用程序活着,但正如他正确地建议的那样,如果你要去编写本地虚拟服务的努力,你也可以在本地编写实际的服务.已经完成了它.
作为一个快速而肮脏的解决方案,您可以使用部分唤醒锁(see here)来保持cpu在后台运行您的应用程序.
我成功地使用这种方法让我的Phonegap-based walk navigation apps在后台保持活着,这样他们就可以继续接收和处理位置更新.
在你的情况下,保持活着接收通知并不是一个部分唤醒锁的意图,因此我不确定android是否会在一段时间后杀死你的应用程序,因为它没有做任何事情(不像我的不断接收和处理位置更新)但它可以在不需要编写服务的情况下完成工作,因此可能值得一试.
看看我的answer to this question,其中包含我的PowerManagement plugin for Android更新版本的代码.我更新了用于Cordova 2.8.0的插件,但也将其扩展为能够获得部分唤醒锁.
我们今天的关于iOS PhoneGap无限对话框运行应用程序时出现错误?的分享就到这里,谢谢您的阅读,如果想了解更多关于(android)启动我的应用程序时出现错误java.lang.IllegalStateException、Android Studio Java(生成的)文件在运行应用程序时出现错误、android – iOS 6 iPhone 5应用程序不是Phonegap Build的全屏?、Android平台上的Phonegap应用程序 – 让应用程序保持运行的相关信息,可以在本站进行搜索。
本文标签: