2016-03-25 21 views
0

Son zamanlarda basit bir Android projesinde çalışmaya başladım, ancak işe yaramayacak gibi görünüyor. Hizmetimin çalışıp çalışmadığını kontrol edip etmediği bir ana etkinliğim var (@ stili/Görünmez parametresi var). Ayrıca, kontrol gerçekleşmeden önce sonuç için başka bir etkinlik başlatır. Etkinliğin, uygulamanın sisteme giriş yapmasına izin vermek için kullanıcının kullanıcı adını ve şifresini geri göndermesi beklenir. Sorun şu ki, uygulamayı telefonuma yüklediğimde iyi çalışıyor, ancak bir dahaki sefere uygulamayı açmam hiç bir şey olmuyor. Yeniden yüklemeliyim.Simge tıklandığında etkinlik başlatılmıyor

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE); 
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

    Intent intent = new Intent(this, LoginGrabber.class); 
    startActivityForResult(intent, 100); 

    if(isMyServiceRunning()==false) 
    {  
     startService(new Intent(getApplicationContext(), MyService.class)); 
     Log.i("com.connect","startService"); 
    } 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data){ 
    if(requestCode == 100){ 
     if(resultCode == RESULT_OK){ 
      String username = data.getStringExtra("Username"); 
      String password = data.getStringExtra("Password"); 
      //TODO Send to server 
      Toast.makeText(this, "Username: " + username + "  Password: " + password, Toast.LENGTH_LONG); 
     } 
    } 
} 

private boolean isMyServiceRunning() { 
    ActivityManager manager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); 
    for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { 
     if (MyService.class.getName().equals(service.service.getClassName())) { 
      return true; 
     } 
    } 
    return false; 
} 

LoginGrabber Aktivite:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login_grabber); 
} 

public void onSendData(View view){ 
    Intent intent = new Intent(); 
    intent.putExtra("Username", ((TextView) findViewById(R.id.email)).getText()); 
    intent.putExtra("Password", ((TextView) findViewById(R.id.password)).getText()); 
    setResult(RESULT_OK, intent); 
    finish(); 
} 

İşte Manifest var:

İşte ana Aktivite var

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.app.test" 
android:versionCode="2" 
android:versionName="2.0"> 

<uses-sdk 
android:minSdkVersion="10" 
android:targetSdkVersion="18" /> 

<supports-screens 
android:largeScreens="true" 
android:resizeable="true" 
android:xlargeScreens="true" /> 

<uses-permission 
android:name="android.permission.INTERNET" 
android:required="true" /> 

<application 
android:icon="@drawable/launcher" 
android:label="@string/app_name" 
android:theme="@style/Invisible"> 
<activity 
android:name="com.connect.Main" 
android:excludeFromRecents="true"> 
<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 

<category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 
</activity> 
<activity 

<service 
android:name="com.connect.MyService" 
android:enabled="true" 
android:exported="true" /> 

<activity 
android:theme="@style/AppTheme" 
android:name="com.connect.LoginGrabber" 
android:label="@string/title_activity_login_grabber" /> 
</application> 

</manifest> 

yanlış yapıyorum?

Yardımlarınız için teşekkürler!

+0

Lütfen xml, Manifest ve service kodunu paylaşın –

+0

OnSendData yönteminiz nerede denir? – mmcoder10

+0

@mman Bu tuşa basıldığında çağrılır. XML'de 'android: onClick =" onSendData "' parametresi vardır. –

cevap

0

Tamam! Sorunu buldum! Sorun, uygulamanın internetin olmadığı bir zamanda ve internet yokken atılan hataları ele almadan test etmeye başladığımdan, hizmetim başladığında çöküyordu.

Sadece WiFi'yi açmak zorunda kaldı, işte bu!

İlgili konular