0
我對android很新穎,我一直試圖動態註冊我的BroadcastReceiver,所以我可以收到smss,但我似乎無法使它工作,這是我的代碼:似乎無法動態註冊Broadcastreceiver
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);
}
的「你好」吐司不會彈出,所以我假設接收器未註冊
我把這個權限在我的清單:
<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>
我失去了什麼?
當您收到短信時,您的「活動」在前臺嗎?您的權限是否位於''標記之外?你的'targetSdkVersion'是什麼,你正在測試哪個Android版本? –
當我收到短信時,該活動處於前臺。 權限不在標記之外。 minSdkVersion 16. targetSdkVersion 23. 在android 4.2.2 API 17上測試。 –
javaLovah
您是否安裝了另一個可能攔截廣播的SMS應用程序?像環聊,或GoSMS? –