λΈλ‘λμΊμ€νΈ μμ μ(Broadcast Receiver)
λΈλ‘λμΊμ€νΈ(Broadcast) : λ°©μ‘μ νλκ²
μ) μ±ν μ±μμ μΌλμΌ μ±ν μ ν λ λ©μμ§λ λ μ¬λλΌλ¦¬ μ£Όκ³ λ°μ§λ§ μ¬λ¬ μ¬λμκ² νκΊΌλ²μ μ λ¬νκ³ μΆμ λλ κ·Έλ£Ή μ±ν λ°©μ λ§λ€μ΄ ν λ² μ΄ κΈμ μ¬λ¬ μ¬λμκ² μ λ¬νλ κ²
λ€νΈμν¬λΆμΌμμμ μ λμΊμ€νΈ/λ©ν°μΊμ€νΈ/λΈλ‘λμΊμ€νΈμ κ°λ μ΄ μ μ¬
λΈλ‘λμΊμ€ν λ©μμ§λ μΈν νΈ κ°μ²΄λ‘ λ§λ€μ΄μ Έ μ λ¬λλ€.
κ°μ’ μ±μμ λ°μνλ μ΄λ²€νΈλ₯Ό μΊμΉν ν, 리μλ²λ‘ μ²λ¦¬ν μ μλλ‘ ν΄μ£Όκ³ , "λ°©μ‘νκΈ°=>μμ νκΈ°"μ μ¬μ΄ν΄λ‘ λμλλ€.
<리μλ²μ μ’ λ₯>
μ μ 리μλ²
- ν λ² λ±λ‘λλ©΄ ν΄μ X
- μ± μ€μΉμ, μλ λ±λ‘
λμ 리μλ²
- λ±λ‘, ν΄μ§μ μμ
- manifestμ λ±λ‘νμ§ μκ³ , μμ€μ λ±λ‘μ νλ€
μν κΆν
λ§μλ©λ‘ λ²μ λΆν°λ κΆνμ μΌλ° κΆν(Normal Permission)κ³Ό μν κΆν(Dangerous Permission)μΌλ‘ λλμλ€. μ¬μ©μκ° μλ¬΄λ° μκ°μμ΄ μ±μ μ€μΉνλ κ²½μ°κ° λ§μμ§λ©΄μ, κΆν νμ©μ μ¬μ©μμκ² μμ²νλ κ²μ΄λ€.
μΌλ° κΆν
μ±μ μ€μΉν μμ μ λ¬Όμ΄λ³΄κ² λ©λλ€. λ³΄ν΅ μ¬λλ€μ μ±μ μ€μΉν λ μ΄λ¬ν κΆνμ λν΄ λ³λ‘ μ κ²½ μ°μ§ μκ³ μ€μΉνμκΈ° λλ¬Έμ κ³Όκ±°μ λ¨λ§λ€μ μ΄λ¬ν μ±λ€μ μν΄ κ΅μ₯ν λ ΈμΆλμ΄μλ€.
μν κΆν
μ±μ μ€νν λ μμ±λλ κΆνμΌλ‘ μ±μ μ€ννκΈ° μν΄ νμν μν κΆν νλνλ μ¬μ©μκ° μ½μ΄λ³΄κ³ μλ½ν΄μΌ ν©λλ€λ§μ½ μ¬μ©μκ° νλλΌλ μλ½νμ§ μλλ€λ©΄ μ±μ μ€νν μ μλ κ²μ΄λ€.
μν κΆνμ μ’ λ₯
SMS κΆν μ€μ μ ν΅ν μν κΆν μ€μ λ²
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.RECEIVE_SMS);
if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "SMS μμ κΆν μμ.", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "SMS μμ κΆν μμ.", Toast.LENGTH_LONG).show();
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.RECEIVE_SMS)) {
Toast.makeText(this, "SMS κΆν μ€λͺ
νμν¨.", Toast.LENGTH_LONG).show();
} else {
ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.RECEIVE_SMS}, 1);
}
}
}
<μΆκ° μ€λͺ >
- PERMISSION_GRANTED
μ¬μ©μκ° ν΄λΉ μ±μ κΆνμ μλ½νλμ§ λνλ΄λ μμ κ°μ λλ€.
- requestPermissons()
λ§μ½ λ¨λ§κΈ°μμ μ±μ λν SMS κΆνμ κ°μ§κ³ μμ§ μλ€λ©΄ κΆν μμ²μ μν λνμμλ₯Ό νΈμΆν©λλ€. μ΄λ λνμμλ μμ€ν μμ μλμΌλ‘ λ§λ€μ΄ λμμ£ΌκΈ° λλ¬Έμ μ¬μ©μκ° μ ννλ κ°μ λ°λΌ μ²λ¦¬λ§ ν΄μ£Όλ©΄ λ©λλ€.
- checkSelfPermmision()
μΌλ¨ ν΄λΉ λ¨λ§κΈ°μμ μ΄ μ±μ λν SMS κΆνμ κ°μ§κ³ μλμ§ μ²΄ν¬νλ λ©μλμ λλ€. μ±μ μ€νν λλ§λ€ κΆν 체ν¬λ₯Ό νλ€λ©΄ μλΉν λΆνΈνκ² μ£ .
- onRequestPermissionsResult()
requestPermissons() λ©μλμμ νΈμΆν λνμμμμ μ¬μ©μκ° μ νν κ°μ΄ μ΄ λ©μλλ‘ μ λ¬λμ΄ μλμΌλ‘ μ€νλ©λλ€. λ§μ½ SMS κΆνλΏλ§ μλλΌ λ€λ₯Έ κΆνλ κ°μ΄ μμ²νλ€λ©΄ greatResults λ°°μ΄ λ³μ μμ μμ°¨μ μΌλ‘ μ¬μ©μμ μ ν κ°μ΄ μ λ¬λ©λλ€.
'APP > ANDROID' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λΆμ€νΈμ½μ€]μλλ‘μ΄λ ν(Tab) (0) | 2020.02.28 |
---|---|
[λΆμ€νΈμ½μ€]μλλ‘μ΄λ νλκ·Έλ¨ΌνΈ(fragment),μ‘μ λ° (0) | 2020.02.27 |
[λΆμ€νΈμ½μ€] μΈν νΈ(intent)λ₯Ό μ΄μ©ν νλ©΄μ ν (0) | 2020.02.18 |
[λΆμ€νΈμ½μ€]μ€ν¬λ‘€λ·° (0) | 2020.02.13 |
[λΆμ€νΈμ½μ€]λ μ΄μμ λ§λ€κΈ° (0) | 2020.02.05 |