[HILFE] Keine Launcher Activity

F

fr3ak2k2

Neues Mitglied
1
Hallo Leute,

ich versuche gerade eine abgespeckte Version von "Where is my Droid" selbst zu programmieren, und habe dort einige Probleme.

Bisher ist schon Implementiert dass die SMS Geschichte nach dem Bootup von Android reagiert. Desweiteren werden die SMS schon ausgelesen und auch eine Antwort - SMS zurück geschrieben.
-> SMS auslesen usw. geht alles über einen Service.

Was mir nun noch fehlt ist eine Activity, in der ich ein Passwort festlegen kann welches dann mit einkommenden Nachrichten verglichen werden.
Die Activity ist defakto vorhanden und meiner Meinung nach auch richtig im Manifest eingetragen.
Ich sitz nun seit Stunden dran und bekomme nur die Meldung "
[2011-12-12 20:21:48 - BigEye] No Launcher activity found!
[2011-12-12 20:21:48 - BigEye] The launch will only sync the application package on the device!"

Ich hoffe dass ich schon auf dem richtigen Weg bin. Wäre echt nice wenn Ihr mir unter die Arme greifen könntet....

Hier noch der Code:

Andromanifest.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.BigEye.AIBCN4"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.WRITE_SMS" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:exported="true"
            android:name=".BigEyeActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

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

        <service
            android:enabled="true"
            android:name="msgService" >
        </service>

        <receiver
            android:enabled="true"
            android:label="@string/app_name"
            android:name="StartIntent"
            android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
            <intent-filter >
                <action android:name="android.intent.action.BOOT_COMPLETED" >
                </action>
                 <category android:name="android.intent.action.HOME" />
               
            </intent-filter>
        </receiver>
    </application>

</manifest>
Meine Activity die nicht funzt
Code:
package de.BigEye.AIBCN4;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import android.widget.Toast;
import android.content.Context;

public class BigEyeActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        startService(new Intent(this,msgService.class));
        
    }

    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        startService(new Intent(this, msgService.class));
        super.onDestroy();
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        startService(new Intent(this,msgService.class));
        
        super.onPause();
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        stopService(new Intent(this,msgService.class));
        super.onResume();
    }

    @Override
    protected void onStart() {
        // TODO Auto-generated method stub
        stopService(new Intent(this, msgService.class));
        super.onStart();
    }

    @Override
    protected void onStop() {
        startService(new Intent(this,msgService.class));
        super.onStop();
    }
}
Mein Service
Code:
package de.BigEye.AIBCN4;

import android.app.PendingIntent;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.os.IBinder;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;

public class msgService extends Service {
    
    
    protected static final String SMS_EMPFANGEN = "android.provider.Telephony.SMS_RECEIVED";

    protected String className = this.getClass().getName();
    protected int toastLength = Toast.LENGTH_SHORT;

    BroadcastReceiver receiveSMS = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {
            //Log.i("INCOMINGSMSRECEIVER IS LISTENING", intent.getAction());
            if (intent.getAction().equals(SMS_EMPFANGEN)) {
                Bundle extras = intent.getExtras();
                
                if (extras != null) {
                    Object[] pdus = (Object[]) extras.get("pdus");
                    SmsMessage[] messages = new SmsMessage[pdus.length];
                    for (int i = pdus.length; --i >= 0;) {
                        messages[i] = SmsMessage
                                .createFromPdu((byte[]) pdus[i]);
                    }
                    // show first message
                    Toast toast = Toast.makeText(context, "SMS EMPFANGEN: "
                            + messages[0].getMessageBody(), Toast.LENGTH_LONG);
                    toast.show();
                    for (SmsMessage message : messages) {

                        // Toast.makeText()
                        final String msgBody = new String(message
                                .getMessageBody().trim());

                        Toast.makeText(context, "Will senden....",
                                Toast.LENGTH_SHORT).show();
                        SmsManager smsManager = SmsManager.getDefault();
                        Intent smsVersandt = new Intent("ACTION_SMS_SENT");
                        PendingIntent pendingIntent = PendingIntent
                                .getBroadcast(context, 123, smsVersandt, 0);
                        smsManager.sendTextMessage(
                                message.getOriginatingAddress(), null,
                                "Hab die Nachricht bekommen", pendingIntent,
                                pendingIntent);
                        Toast.makeText(context, "Geschickt", Toast.LENGTH_SHORT)
                                .show();
                        Intent serviceIntent = new Intent(context,
                                msgService.class);
                        serviceIntent.setAction("SMS.service.msgService");
                        context.startService(serviceIntent);

                    }
                }
            }

        }
    };

    @Override
    public IBinder onBind(Intent arg0) {

        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void onCreate() {
        Toast.makeText(this, "hello service on Create()!", Toast.LENGTH_LONG)
                .show();
        getApplicationContext().registerReceiver(receiveSMS, new IntentFilter(SMS_EMPFANGEN));
        super.onCreate();
    }

    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        getApplicationContext().unregisterReceiver(receiveSMS);
        super.onDestroy();
    }

    @Override
    public void onStart(Intent intent, int startId) {
        Toast.makeText(this, "hello service on start()!", Toast.LENGTH_LONG)
                .show();
        getApplicationContext().registerReceiver(receiveSMS, new IntentFilter(SMS_EMPFANGEN));

        super.onStart(intent, startId);
    }

}
BroadcastReceiver um Service nach Boot zu starten

Code:
package de.BigEye.AIBCN4;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class StartIntent extends BroadcastReceiver {
    
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent startIntent = new Intent(context, msgService.class);
        startIntent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
        context.startService(startIntent);
    }
    
}
Das wars erst mal ;) So long
 

Ähnliche Themen

D
Antworten
17
Aufrufe
321
datNeMo
D
M
Antworten
4
Aufrufe
1.147
swa00
swa00
R
  • RudolfHagen
Antworten
1
Aufrufe
636
koje71
koje71
Zurück
Oben Unten