我已經問了一個關於一個Ionic應用與HTML音頻流,不能正常工作與某些Android手機的問題。如何啓用流媒體應用與SE的android
我已經確定問題是SE中針對Android的「強制」模式。
因爲我還沒有找到與Ionic/Cordova有關的問題的任何解決方案,所以我決定用原生Android SDK啓動該應用程序。
不幸的是,我遇到了與原生SDK相同的問題:該流不適用於在「強制」中設置的SE for Android手機。
我發現問題的手機有三星Galaxy S6,三星Galaxy S6 Edge,三星Galaxy Note 5和索尼Xperia Z4。
這是應用程序的Java代碼:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.io.IOException;
import android.media.AudioManager;
import android.media.MediaPlayer;
public class Player extends AppCompatActivity {
private MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_player);
mp = new MediaPlayer();
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
try{
mp.setDataSource("http://69.175.58.196:80/stream");
mp.prepareAsync();
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
}
catch (IOException e) {
e.printStackTrace();
}
}
}
這是AndroidManifest.xml中的內容:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.goradio.ovoradioclub">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Player">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
這似乎是我的思念與SE的東西。
我也是Linux系統管理員,我知道處理SE的唯一方法是使用root訪問。
該應用程序的想法是免費在PlayStore中,所以人們可以只聽流,所以根設備禁用SE不是我的選擇。
「我發現問題是安卓系統中的」強制「模式」 - 恩,你是怎麼確定的?你確切的症狀是什麼? – CommonsWare
因爲帶有SE的Android手機在「強制」是唯一不起作用的手機。 對不起,我還沒有在google中找到關於SE Android的很多信息。我已經確定了基於SELinux的經驗。 –
這並不能解釋你的症狀是什麼。 – CommonsWare