2012-02-07 79 views
2

我的应用程序出于某种原因第一次打开时失败,但第二次点击它时会打开罚款。这是否有任何共同的原因?为什么我的应用需要两次打开?

下面是主要活动代码,任何信息将不胜感激:

package com.chich; 

import android.app.Activity; 

import android.app.PendingIntent; 
import android.content.ComponentName; 
import android.content.Intent; 
import android.content.pm.PackageManager; 
import android.os.Bundle; 
import android.telephony.gsm.SmsManager; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class chich_activity extends Activity 
{ 

Button btnSendSMS; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    ComponentName locationReceiver = new ComponentName(this, SmsReceiver.class); 
    PackageManager pm = getPackageManager(); 
    pm.setComponentEnabledSetting(locationReceiver, 
      PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); 



    btnSendSMS = (Button) findViewById(R.id.btnSendSMS); 
    btnSendSMS.setOnClickListener(new OnClickListener() 
    { 


     public void onClick(View v) 
     {  
      Intent i = new Intent(chich_activity.this, chich_activity2.class); 
      startActivity(i); 

    }  
}); 
    } 
} 

清单文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.chich" 
    android:versionCode="1" 
    android:versionName="1.0.0"> 
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name"> 
    <activity android:name=".chich_activity" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity>  

     <activity android:name=".chich_activity2" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <receiver android:name=".SmsReceiver"> 
     <intent-filter android:priority="9999999" > 
      <action android:name = "android.provider.Telephony.SMS_RECEIVED" /> 
     </intent-filter> 
    </receiver> 

</application> 
<uses-permission android:name="android.permission.SEND_SMS"> 
</uses-permission> 
<uses-permission android:name="android.permission.RECEIVE_SMS"> 
</uses-permission> 
</manifest> 
+2

请从崩溃中发布错误。你可以在LogCat中找到它。 – WarrenFaith 2012-02-07 09:10:45

+0

发布您的清单文件。 – 2012-02-07 09:25:50

+0

这很奇怪,我没有得到任何错误。它不强制关闭,只是关闭,就好像它是应该的 – Christian 2012-02-07 09:33:55

回答

1

答案出现在软件包管理器中。原来它关闭应用程序关闭,如果你不到底写,PackageManager.DONT_KILL_APP如:

ComponentName locationReceiver = new ComponentName(this, SmsReceiver.class); 
PackageManager pm = getPackageManager(); 
pm.setComponentEnabledSetting(locationReceiver, 
     PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 
0

试图离开只有一个是发射活动。从这里删除此行<category android:name="android.intent.category.LAUNCHER" />

<activity android:name=".chich_activity2" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
+0

谢谢,但我已经尝试过,只是再次无济于事。 – Christian 2012-02-07 09:43:01

0

我有同样的问题,是不是对我最好的方式,但工作!

switch(estado) { 
       case 0: 
        if (!tcursor.moveToFirst()){ 
         estado = 1; 

          Intent intentConfig=new Intent(getApplicationContext(),Configuracion.class); 
          startActivity(intentConfig); 
        } 
        break; 
       default: 

      } 
相关问题