2015-08-17 2 views
2

Я разрабатываю Video Player, в котором хотят добавить плеер в полном действии, используя список для этого я добавлю код в манифесте:Завершить действие с помощью Моего видеоплеер

<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 

    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 

    <data android:mimeType="video/*" /> 
    <data android:mimeType="application/sdp" /> 
    <data android:pathPattern=".*3gp" /> 
    <data android:pathPattern=".*3GP" /> 
    <data android:pathPattern=".*mp4" /> 
    <data android:pathPattern=".*MP4" /> 
</intent-filter> 

Когда я открываю видео из галереи в мой плеер, тогда он работает.

В моей деятельности для получения URI видео кодом:

Intent i = getIntent(); 
Uri tmpSelectedImageUri = i.getData(); 
filename = getPath(tmpSelectedImageUri, ViewVideo.this); 

public String getPath(Uri uri, Activity activity) { 
    String[] projection = { MediaColumns.DATA };  
    Cursor cursor = activity.managedQuery(uri, projection, null, null, null);  
    int column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA); 
    cursor.moveToFirst(); 
    return cursor.getString(column_index); 
} 

проблема, когда я открываю видео с WhatsApp на плеер это показать NullPointerException в этой строке Uri tmpSelectedImageUri = i.getData();

+0

Вы получили решение? – user4057066

ответ

0

Попробуйте это:

String type = intent.getType(); 
if (type.equal("text/plain")){ 
    Log.d("DATA", "Type text: " + intent.getStringExtra(Intent.EXTRA_TEXT)); 
    //tmpSelectedImageUri = Uri.parse(intent.getStringExtra(Intent.EXTRA_TEXT)); 
} else if (type.startsWith("video/")) { 
    tmpSelectedImageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM); 
}