


























Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Uma aplicação android que utiliza a classe broadcastreceiver para ler o número de telefone recebido em uma chamada e imprimir na tela de log. O código é composto por duas classes: myphonereceiver e mainacgvity.
Tipologia: Notas de estudo
1 / 34
Esta página não é visível na pré-visualização
Não perca as partes importantes!



























Qual (^) a diferença entre receptores (^) de broadcast e provedores de serviço ?
Lendo números: Escreva uma aplicação que leia o número recebido em uma chamada, e o imprima na tela de log.
public class MyPhoneReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras(); if (extras != null) { String state = extras.getString(TelephonyManager.EXTRA_STATE); Log.w("DEBUG", state); if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) { String phoneNumber = extras .getString(TelephonyManager.EXTRA_INCOMING_NUMBER); Log.w("DEBUG", phoneNumber); } } } } (^) MyPhoneReceiver.java
public class MainAcGvity extends AcGvity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.acGvity_main); TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); String phonenumber = tm.getLine1Number(); Log.v("Phone_data", phonenumber == null? "No number" : phonenumber); } } MainAcGvity.java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.acGvity_main); TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); String phonenumber = tm.getLine1Number(); Log.v("Phone_data", phonenumber); String operatorname = tm.getNetworkOperatorName(); Log.v("Phone_data", operatorname); String operatorcode = tm.getNetworkOperator(); Log.v("Phone_data", operatorcode); String operatoriso = tm.getNetworkCountryIso(); Log.v("Phone_data", operatoriso); } MainAcGvity.java
O que está faltando implementar? MainAcGvity.java
MyReceiver1 Intent { act=br.com.dcc052.aula flg=0x cmp=com.dcc052.aula17/.MyBroadcastReceiver (has extras) }
Como (^) passar dados (^) para (^) o receptor? MyBroadcastReceiver.java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.acGvity_main); Intent intent = new Intent(); intent.setAcGon("br.com.dcc052.aula17"); intent.putExtra("Arg1", "Oi"); sendBroadcast(intent); } @Override public void onReceive(Context context, Intent intent) { String arg = intent.getStringExtra("Arg1"); Log.v("MyReceiver0", arg); } MyBroadcastReceiver.java MainAcGvity.java Será^ que^ é^ possível termos^ mais de um receptor^ para a mesma^ intenção difundida?
public class MyBroadcastReceiver1 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.v("Receiver1", intent.toString()); } } public class MyBroadcastReceiver0 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String arg = intent.getStringExtra("Arg1"); Log.v("Receiver0", arg); } } MyBroadcastReceiver1.java MyBroadcastReceiver0.java
Escreva uma atividade que determine o estado da bateria do dispositivo.