1

我想制作一个在我的手机连接到电源时启动 FTPServer 的应用程序。我不希望我的应用程序有 GUI。在 GooglePlay 中,我发现了一个可以通过 Intent 启动和停止的第 3 方 FtpServer 应用程序

Intents:
com.theolivetree.ftpserver.StartFtpServer
com.theolivetree.ftpserver.StopFtpServer

所以我想在我的应用程序中使用这些代码来执行这些命令,但我不知道如何使用它们。到目前为止,我正在尝试使用 Toast 来查看在我进一步移动之前是否发生了任何事情,但不幸的是没有发生任何事情。

我的 AndroidManifest.XML 看起来像这样:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.power.ftpserver"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

    <application 

    android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" 
        android:allowBackup="true">

        <receiver android:enabled="true" android:name="FtpReceiver">
        <intent-filter>
                <action android:name="android.intent.action.ACTION_POWER_CONNECTED">       </action>
                <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"></action>
        </intent-filter>
    </receiver>

    </application>
</manifest> 

FtpReceiver.java

package de.power.ftpserver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

    public class FtpReceiver extends BroadcastReceiver {

    @Override
        public void onReceive(Context context , Intent intent) 
        {
            String action = intent.getAction();

            if(action.equals(Intent.ACTION_POWER_CONNECTED)) 
            {
                Toast.makeText(context, "FtpServer gestartet", Toast.LENGTH_LONG).show();
            }
            else if(action.equals(Intent.ACTION_POWER_DISCONNECTED)) 
            {
                Toast.makeText(context, "FtpServer beendet", Toast.LENGTH_LONG).show();
            }
        }
    }

当我将应用程序安装到我的手机时,控制台说

[2013-08-02 12:28:19 - FtpServer] No Launcher activity found!
[2013-08-02 12:28:19 - FtpServer] The launch will only sync the application package on the device!

但无论如何都会安装。我可以插入和拔出 Powerconnectioncable,但我没有收到任何 Toast 消息。有人可以帮忙吗?

4

1 回答 1

0

我知道这有点老了。但只是为了将来参考和作为部分解决方案,我遇到了同样的问题,即如何使用 FTP 服务器应用程序提供的 Intent,这就是您要寻找的:

Intent startIntent = new Intent("com.theolivetree.ftpserver.StartFtpServer");
sendBroadcast(startIntent); // start

停下来,都是一样的

Intent startIntent = new Intent("com.theolivetree.ftpserver.StopFtpServer");
sendBroadcast(startIntent); // stop

希望它仍然可以帮助某人。

于 2014-04-01T20:22:17.697 回答