Ich bin ziemlich neu zu Android, und ich habe versucht, meine Broadcastreceiver dynamisch registrieren, so dass ich Smss empfangen konnte, aber ich kann es einfach nicht funktionieren, hier ist meine Code:Kann Broadcastreceiver nicht dynamisch registrieren
public class MainActivity extends AppCompatActivity {
BroadcastReceiver receiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(getApplicationContext(), "Hellllo", Toast.LENGTH_SHORT).show();
}
};
IntentFilter filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
registerReceiver(receiver,filter);
}
das "Hallo" Pop-up-Toast wird nicht so der Empfänger ich gehe davon aus nicht
registriert wurde, habe ich diese Berechtigungen in meinem Manifest:
<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>
Was bin ich fehlt ?
Steht Ihre "Aktivität" im Vordergrund, wenn Sie die SMS erhalten? Sind Ihre Berechtigungen außerhalb der '' Tags? Was ist Ihre 'targetSdkVersion' und welche Version von Android testen Sie? –
Die Aktivität steht im Vordergrund, wenn ich die SMS empfange. Die Berechtigungen liegen außerhalb der Tags. minSdkVersion 16. targetSdkVersion 23. Testen auf Android 4.2.2 API 17. –
javaLovah
Haben Sie eine andere SMS-App installiert, die die Übertragung abfangen könnte? Wie Hangouts oder GoSMS? –