当我启动android应用程序时,处理输入流抛出时出错
MainActivity.java当我启动android应用程序时,处理输入流抛出时出错,android,launching,Android,Launching,MainActivity.java public class MainActivity extends AppCompatActivity { LinearLayout llStats; TextView txtPlayCount, txtEarned; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView
public class MainActivity extends AppCompatActivity {
LinearLayout llStats;
TextView txtPlayCount, txtEarned;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
llStats = (LinearLayout) findViewById(R.id.llStats);
txtPlayCount = (TextView) findViewById(R.id.txtNowPlaying);
txtEarned = (TextView) findViewById(R.id.txtEarned);
// layout background transparent
llStats.getBackground().setAlpha(150);
llStats.setVisibility(View.VISIBLE);
Intent i = getIntent();
String now_playing = i.getStringExtra("now_playing");
String earned = i.getStringExtra("earned");
// Diplaying the text
txtPlayCount.setText(now_playing);
txtEarned.setText(earned);
}
}
Java
public class SplashScreen extends Activity {
String now_playing, earned;
//Splash screen Timeout
private static int SPLASH_TIME_OUT = 3000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_splash_screen);
new PrefetchData().execute();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(SplashScreen.this, MainActivity.class);
startActivity(intent);
finish();
}
}, SPLASH_TIME_OUT);
/* FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});*/
}
private class PrefetchData extends AsyncTask<Void,Void,Void>
{
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
JsonParser jsonParser=new JsonParser();
String json=jsonParser.getJSONFromUrl("http://api.androidhive.info/game/game_stats.json");
Log.e("Response is ", ">" + json);
if (json != null)
try
{
JSONObject jObj=new JSONObject(json).getJSONObject("game_stat");
now_playing = jObj.getString("now_playing");
earned = jObj.getString("earned");
Log.e("JSON", "> " + now_playing + earned);
}
catch (JSONException e)
{
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
Intent i = new Intent(SplashScreen.this, MainActivity.class);
i.putExtra("now_playing", now_playing);
i.putExtra("earned", earned);
startActivity(i);
// close this activity
finish();
}
}
@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_splash_screen, menu);
return true;
}
}
我也遇到了同样的问题,在进行了大量调试后,我发现清单中有两个具有相同属性的提供程序,这是导致问题的原因 第一个提供者用于内容提供者访问数据库。 我最近添加的第二个是为了遵守N发行版指南,即使用FileProvider.getUriForFile(..)而不是Uri.fromFile(..);否则,当目标为N release时,将引发Uri公开的异常 更改机构名称后,错误得到解决
我希望这能有所帮助。欢迎来到SO indrajit。请看如何提问-。让你的标题更清楚,它是什么类型的错误。尝试创建一个最小的可复制示例-它将帮助您进行调试。这也有助于对你的问题产生更多的兴趣。思考TL;DRalso解释您当前的场景,因为发布代码不足以理解您试图实现的目标为什么要调用MainActivity 2次?您将实现什么?我将获取Json内容。
02-02 12:27:07.983 1856-2006/com.google.android.googlequicksearchbox:search W/ErrorReporter: reportError [type: 211, code: 524300]: Error at processing input stream 02-02 12:27:07.984 1856-2006/com.google.android.googlequicksearchbox:search W/ErrorProcessor: onFatalError, processing error from engine(4)
com.google.android.apps.gsa.shared.speech.a.g: Error at processing input stream
at com.google.android.search.core.hotword.l.bsw(HotwordRecognitionRunner.java:166)
at com.google.android.search.core.hotword.l$1.run(HotwordRecognitionRunner.java:138)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
at com.google.android.apps.gsa.shared.util.c.a.l$1.run(GsaThreadFactory.java:99)
Caused by: com.google.android.apps.gsa.shared.api.io.GsaIOException: Error code: 393237 | Error code: 393220 | AudioRecord failed to initialize.
at com.google.android.apps.gsa.speech.audio.Tee.pO(Tee.java:426)
at com.google.android.apps.gsa.speech.audio.Tee.k(Tee.java:309)
at com.google.android.apps.gsa.speech.audio.ad.read(Tee.java:503)
at java.io.InputStream.read(InputStream.java:162)
at com.google.android.apps.gsa.speech.audio.z.run(MultipleReaderAudioSource.java:206)
Caused by: com.google.android.apps.gsa.shared.api.io.GsaIOException: Error code: 393220 | AudioRecord failed to initialize.
at com.google.android.apps.gsa.speech.audio.v.aHv(MicrophoneInputStream.java:172)
at com.google.android.apps.gsa.speech.audio.v.read(MicrophoneInputStream.java:224)
at com.google.android.apps.gsa.shared.util.ai.a(IoUtils.java:149)
at com.google.android.apps.gsa.speech.audio.Tee.pO(Tee.java:422)
at com.google.android.apps.gsa.speech.audio.Tee.k(Tee.java:309)
at com.google.android.apps.gsa.speech.audio.ad.read(Tee.java:503)
at java.io.InputStream.read(InputStream.java:162)
at com.google.android.apps.gsa.speech.audio.z.run(MultipleReaderAudioSource.java:206) 02-02 12:27:07.984 1856-2010/com.google.android.googlequicksearchbox:search I/HotwordRecognitionRnr: Stopping hotword detection. 02-02 12:27:07.985 1856-1856/com.google.android.googlequicksearchbox:search I/HotwordWorker: #onError(false)