0
我是一名Android初學者,我正在開發一個應用程序,其中BrocastReceiver在用戶撥打電話時啓動...我試圖監視廣播接收器內部的網絡狀態......並且我我想,當用戶掛斷電話,開始活動......但不幸的是它給我一個錯誤...請讓我知道如何做到這一點?從廣播接收器調用活動
我的廣播接收器正常啓動用戶時撥打電話......但我不知道如何在用戶正在通話時監聽BroadcastReceiver內部的網絡......並在用戶掛斷電話時從BroadcastReceiver調用活動...
請讓我k現在如何提前實現這一...謝謝.. :-)
我的代碼...
廣播接收器代碼
public class MoniterNetworkStatus extends BroadcastReceiver{ private ConnectivityManager connectivityManager; private NetworkInfo info; @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "Monitering Network Status !!!", Toast.LENGTH_LONG).show(); boolean networkStatus = false; TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); Intent activityIntent = new Intent(context, NetworkStatusActivity.class); // I am monitoring the network status as long as user is on call... while(telephonyManager.getCallState()!= TelephonyManager.CALL_STATE_IDLE){ info = connectivityManager.getActiveNetworkInfo(); if(info == null){ networkStatus = false; }else if(info.getType() == ConnectivityManager.TYPE_MOBILE){ networkStatus = info.isConnected(); }else{ networkStatus = false; } } //Putting the network details in to the activity. activityIntent.putExtra("operatorName", telephonyManager.getNetworkOperatorName()); activityIntent.putExtra("networkStatus", networkStatus); // starting the activity context.startActivity(activityIntent); abortBroadcast(); } }
我的清單文件
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" /> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <!-- <uses-permission android:name="android.permission.INTERNET"/> --> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.abc.activity.NetworkStatusActivity"></activity> <receiver android:name="com.abc.broadcastreceiver.MoniterNetworkStatus" android:enabled="true" > <intent-filter> <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> <action android:name="android.intent.action.ANSWER" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> </application>
我的廣播接收器正常啓動,當用戶撥打電話......但我不知道如何監控網絡,當用戶正在通話..並調用活動,當用戶掛斷電話......
請讓我知道如何提前實現這一...謝謝.. :-)