Android Intent Service APP在后台静默运行仍从白屏开始

时间:2019-01-13 16:46:25

标签: java android android-studio android-layout intentservice

我在Android Stuido中使用IntentService编写了一些后台作业。 APP做得很好,但仍然存在一些布局问题。我阅读了许多没有UI的创建应用的示例,并尝试了这些示例,但没有成功。

当我启动我的应用程序时,出现了一些白屏并迅速消失,并且在Toast中定义了IntentService消息。只是我需要在没有任何UI交互的情况下完成其工作,并且在后台静默运行,并在完成服务工作时终止自身。

我知道这听起来像是病毒:)我只为我的Gallery写一些图像处理程序。有可能吗?

我花了大约两天的时间,但是没有办法。让我分享我的代码;

MainActivity;

import android.content.Intent;
import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = new Intent(MainActivity.this, MyService.class);
        startService(intent);
        finish();

    }

}

MyService;

import android.app.IntentService;
import android.content.Intent;
import android.os.Environment;
import android.os.Handler;
import android.widget.Toast;

import org.opencv.core.Core;
import org.opencv.core.Core.MinMaxLocResult;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.core.Scalar;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;


public class MyService extends IntentService {

    public MyService() {
        super("MyService");
    }

    @Override
    protected void onHandleIntent(Intent workIntent) {

       Handler mHandler = new Handler(getMainLooper());
       mHandler.post(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(getApplicationContext(), "Mission Complete!!!", 
                Toast.LENGTH_SHORT).show();
            }
        });

    }
}

AndroidManifest.xml;

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.lacrymae.sampleapp">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        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>
        <service android:name=".MyService" />
    </application>

    <uses-permission android:name="android.permission.CAMERA"/>

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

    <uses-feature android:name="android.hardware.camera" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.front" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>


</manifest>

0 个答案:

没有答案