2013-02-14 135 views
0

我有一个小应用程序,我一直在努力。我希望全新的安装可以从我的Galaxy Nexus运行的4.2.1版本运行。我卸载了应用程序,然后尝试通过eclipse重新安装。它安装很好,没有错误logcat,控制台等...但是当你点击运行应用程序,它只是在打开时关闭。我已经在2种不同的手机上尝试过这个,同样的事情。开发Android应用程序安装正常后卸载不会重新安装

在Galaxy Nexus上,如果我在卸载之前恢复我的ROM,我可以从eclipse运行它,只需要它。只有在卸载并重新安装之后,我才能关闭这个部队。它安装在ROM备份上。

有什么想法?我怎么知道这里发生了什么?

编辑:::

活动仅在清单中声明,一旦...

试图改变版本号......没有影响

增加了一些Log.e(),以在MainActivity :

protected void onCreate(Bundle savedInstanceState) { 
     Log.e(TAG,"STARTING APP"); 
     super.onCreate(savedInstanceState); 
     // show no back arrow 
     Log.e(TAG,"AFTER ONCREATE"); 
     setContentView(R.layout.activity_firstload); 
     Log.e(TAG,"AFTER SETCONTENTVIEW"); 

     getPrefs(); 
     Log.e(TAG,"GET PREFS"); 
     finish(); 
     Log.e(TAG,"AFTER FINISH"); 
    } 

,显示在logcat的唯一标签是 “AFTER FINISH”

如果我摆脱完成,MainActivity保持打开状态。所有主要活动都是检查首选项。这里是我的GetPrefs()

private void getPrefs() { 
     // Get the xml/preferences.xml preferences 
     Log.e(TAG,"GET PREFS 1"); 
     SharedPreferences prefs = PreferenceManager 
       .getDefaultSharedPreferences(getBaseContext()); 
     lp = prefs.getString("defaultreport", ""); 
     Log.v(TAG, lp); 

     if (lp.equals("esac")) { 
//   Toast.makeText(MainActivity.this, "ESAC", Toast.LENGTH_SHORT) 
//     .show(); 
      Intent i = new Intent(MainActivity.this, ESACActivity.class); 
      startActivity(i); 
     } else if (lp.equals("sac")) { 
//   Toast.makeText(MainActivity.this, "SAC", Toast.LENGTH_SHORT) 
//     .show(); 
      Intent i = new Intent(MainActivity.this, SACActivity.class); 
      startActivity(i); 
     } else if (lp.equals("msar")) { 
//   Toast.makeText(MainActivity.this, "MSAR", Toast.LENGTH_SHORT) 
//     .show(); 
      Intent i = new Intent(MainActivity.this, MSARActivity.class); 
      startActivity(i); 
     } 

    } 

AH >>>可能已经找到了一些东西。首选项设置为“”(空),那么它会加载什么?!所以我需要一个屏幕,询问他们想在第一次运行我猜设置哪些...

编辑编辑:::需要检查在偏好设置第一次运行...

if (prefs.getString("defaultreport", null) == null) 
     { 
      startActivity(new Intent(this, Preferences.class)); 
      return; 
     } 
+0

当您尝试运行它时,是否有任何错误发生? – 2013-02-14 23:09:43

+0

我什么都看不到。这是疯狂的一部分!我清除了LogCat ...没有显示。我清除了控制台和正常的东西显示...错误日志中没有错误...没有! – jasonflaherty 2013-02-14 23:16:01

+1

尝试在ur mainActivity的onCreate开头添加日志 – AAnkit 2013-02-14 23:18:53

回答

0

你的字符串如果没有偏好,决定运行什么就什么也不做。

lp = prefs.getString("defaultreport", ""); 

而且因为你没有选择,对于这种情况下,什么都不会运行,并且初始活性将关闭,但不启动任何其他。

+0

大约一个小时后,我明白了,但你是正确的,所以我接受你的答案。谢谢! – jasonflaherty 2013-02-15 13:25:50

+0

啊,没有看到,欢呼声,祝你好运! – 2013-02-15 16:51:41

相关问题