2016-03-23 1 views
0

В моем приложении я пытаюсь получить трансляцию Media_Scanner_Finished. Но приемник не вызван. Вот мой код-Android Intent action.MEDIA_SCANNER_FINISHED broadcast

'<?xml version="1.0" encoding="utf-8"?>' 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="objectdistance.ankeshkjaisansaria.ram.sita.MyApp"> 

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <receiver 

android:name="objectdistance.ankeshkjaisansaria.ram.sita.myApp.broadcastreceiver" 
     android:enabled="true" 
     android:exported="true"> 
     <intent-filter> 
      <action android:name="android.intent.action.MEDIA_SCANNER_FINISHED"/> 
      <action android:name="android.intent.action.MEDIA_SCANNER_STARTED"/> 
      <action android:name="android.intent.action.MEDIA_SCANNER_STARTED"/> 
      <data android:scheme="file" /> 
     </intent-filter> 
    </receiver> 


</application> 

</manifest> 

В моем классе приемника Broadcast: -

public class broadcastreceiver extends BroadcastReceiver { 
BroadcastReceiver mMediaScannerReceiver; 
@Override 
public void onReceive(Context context, Intent intent) { 

    // TODO Auto-generated method stub 
    Log.i("INFO", "Enter BroadcastReceiver"); 


} 


} 

Я думаю, что вопрос в связи с разрешения требуется в файле манифеста, чтобы получить доступ к Media_Scanner вещания.

Еще одна вещь, которую я хотел бы прояснить, заключается в следующем: - Вызывается ли Media_Scanner_Started при обновлении базы данных Media Media?

ответ

1

Добавить приемник в коде, а не в манифесте:

final IntentFilter filter = new IntentFilter(); 
    filter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED); 
    filter.addDataScheme("file"); 
    scannerStartedReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(final Context context, final Intent intent) { 
     } 
    }