0

我是一名Android初學者,我正在開發一個應用程序,其中BrocastReceiver在用戶撥打電話時啓動...我試圖監視廣播接收器內部的網絡狀態......並且我我想,當用戶掛斷電話,開始活動......但不幸的是它給我一個錯誤...請讓我知道如何做到這一點?從廣播接收器調用活動

我的廣播接收器正常啓動用戶時撥打電話......但我不知道如何在用戶正在通話時監聽BroadcastReceiver內部的網絡......並在用戶掛斷電話時從BroadcastReceiver調用活動...

請讓我k現在如何提前實現這一...謝謝.. :-)

我的代碼...

  1. 廣播接收器代碼

    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> 
    

我的廣播接收器正常啓動,當用戶撥打電話......但我不知道如何監控網絡,當用戶正在通話..並調用活動,當用戶掛斷電話......

請讓我知道如何提前實現這一...謝謝.. :-)

回答