我正在开发一个应用程序,我需要在启动设备后或安装SD卡后启动它。这是使用清单中的接收器和扩展BroadcastReceiver的类来完成的。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<receiver android:name="util.MediaMountedReceiver" android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED" />
<data android:scheme="file"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
public class MediaMountedReceiver extends BroadcastReceiver{
SharedPreferences sharedPref = null;
@Override
public void onReceive(Context context, Intent intent) {
sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
/** Verifica se é para iniciar automático ou não */
if(sharedPref.getBoolean(SettingsFragment.KEY_PREF_STARTUP_AUTO, false)){
Intent i = new Intent(context, PlayerScreen.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
在我测试的几乎所有设备中,除了一台mini pc安卓外,其他设备都正常运行。
CONF。设备:Android 4.1.1内核版本3.0.8 + rk30sdk-eng4.1.1 JRO03H
在启动应用程序后,在此设备中打开并最小化跟随。我相信这是一个配置问题设备本身,因为我有其他类似的功能,但有不同版本的android。