相关疑难解决方法(0)

从Android电子市场安装应用后获取推荐人

我正在尝试注册一个广播接收器,它捕获Android从市场安装应用程序后启动的"com.android.vending.INSTALL_REFERRER"意图.

我在此处详细了解:http://code.google.com/mobile/analytics/docs/android/#referrals

但是,我无法使用Google Analytics,因此我创建了自己的解决方案.我在清单文件中添加了以下内容:

<receiver android:name="com.test.Receiver" android:exported="true">
<intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

并创建了一个基本的BroadcastReceiver类:

public class Receiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        Bundle extras = intent.getExtras();
        String referrerString = extras.getString("referrer");

        Log.w("TEST", "Referrer is: " + referrerString);
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,当安装应用程序时,接收器似乎没有捕获Intent(如果Intent甚至广播?)并且我没有记录输出.

我在某个地方出错了还是市场在安装应用程序时不再启动这些Intent?

android install referrer google-play google-play-services

68
推荐指数
4
解决办法
7万
查看次数

如何在首次安装.apk时启动服务

在我的应用程序中,我没有任何UI部分,因此我需要在Device上安装Applicaton后立即启动服务.我看到很多链接,答案是不可能的,但我想这肯定是可能的.只需查看符合我要求的Android Market上的PlanB应用程序即可.下面是我的Manifest文件我是如何尝试的,但根本没有调用该服务.所以,让我知道在应用程序安装时启动服务的最佳方法是什么.

UPDATE

我也试过使用android.intent.action.PACKAGE_ADDED它可以很好地检测其他应用程序的包,但不适用于自己.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.auto.start"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

    <application
        android:icon="@drawable/ic_launcher" >

        <service android:name=".MyService">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </service>

        <receiver android:name=".BootUpReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <action android:name="android.intent.action.PACKAGE_INSTALL" />
                <action android:name="android.intent.action.PACKAGE_ADDED" />
                <data android:scheme="package"/>
            </intent-filter>
        </receiver>
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

android android-widget android-emulator android-layout

67
推荐指数
5
解决办法
6万
查看次数

安装应用程序时只运行一段代码

我想在我的应用程序中只运行一段代码,并且是第一次运行它时(新安装的应用程序).我怎么能这样做,任何人都可以解释给出一段代码.

实际上,在我的android项目中,我想创建数据库并在第一次运行时插入一些值.之后,该特定代码不应该再次运行.如何通过SharedPreferencesPreferences实现此机制.

示例代码将更有帮助.

android android-preferences sharedpreferences

27
推荐指数
4
解决办法
3万
查看次数

安装后执行Android代码

可能重复:
android中是否有安装事件?

我想在安装完成后在Android应用中执行一段代码.此代码永远不应该在之后的应用程序中执行.

任何人都可以告诉我如何做到这一点.

Reagrds,

尚卡尔

android

12
推荐指数
1
解决办法
2万
查看次数

在安装应用程序时复制SD卡上的文本文件?

我正在开发一款安卓游戏.我想在用户第一次安装游戏时将文本文件复制到外部SD卡.文本文件对于正确运行游戏很重要.

我怎样才能做到这一点?我应该将文本文件放在eclipse源项目中,这样当我构建apk文件时,我的文本文件也被捆绑在其中,当一个用户从该apk文件安装应用程序时,文本文件被复制到"SDcard\data"文件夹.?

我应该编写什么代码以及在哪里编写代码,以便在安装时只执行一次.

提前致谢

android android-sdcard

3
推荐指数
1
解决办法
3513
查看次数